Ich habe Streams oft verwendet, aber ich lese nie viel darüber, wie sie tatsächlich funktionieren. Ich weiß auch nicht viel über sie, außer dass ein Strom nur eine Metapher ist. Ein Stream repräsentiert nur eine Sequenz von Bytes. Ich weiß nicht viel darüber, wie sie tatsächlich funktionieren, ich denke, das Öffnen eines Dateistroms in Java mit dem Betriebssystem, die die Funktionalität haben, einen "Zeiger" auf einen Stream zu geben.Wie wirken sich Datenströme in Java auf den Speicherverbrauch aus?
Meine Frage ist im Grunde, wie Streams den Speicherverbrauch beeinflussen. Wenn Sie zum Beispiel einen Eingabestream haben und Sie beginnen, von ihm zu lesen, fangen Sie nur an, den Speicherverbrauch mit der Menge der gelesenen Bytes zu erhöhen? Wenn Sie einen Stream in Java öffnen, laden Sie nicht die gesamte Datei, bevor Sie mit dem Lesen beginnen. Wenn Sie von einem Stream lesen und direkt in einen anderen Stream schreiben, erhöhen Sie nur den Speicher mit der Menge an Bytes, die Sie lesen (und möglicherweise im Puffer haben)? Wenn Sie Bytes in einem Byte-Array in Java lesen, dann erhöhen Sie den Speicherverbrauch mit der Größe der Datei?
Kann wie eine seltsame Frage klingen, aber ich könnte eine Anleitung/Korrektur nach meinem Verständnis benötigen. Vielen Dank.
Sie haben eine sehr gute Erklärung [http://www.ibm.com/developerworks/library/j-zerocopy/index.html] Null Kopie. Außerdem werden die Puffer und die Speichernutzung erläutert. –