Ich habe die Techniken hier verwendet und zwei 1,5 GB-Dateien in 70 Sekunden verkettet.
Mein Code beinhaltete die Verwendung von FileChannels mit Speicherzuordnung und ByteBuffers mit einer Puffergröße von 8 KB.
Wie könnte ich diese Geschwindigkeit verbessern?
%Vor%probiere das
aus %Vor% javadoc sagt, dass FileChannel.transferFrom
potenziell viel effizienter ist als eine einfache Schleife, die von diesem Kanal liest und in den Zielkanal schreibt. Viele Betriebssysteme können Bytes direkt vom Dateisystem-Cache auf den Zielkanal übertragen, ohne sie tatsächlich zu kopieren.