Java プログラムでファイルの入力ストリーム (50M テキスト ファイルの入力ストリームなど) を取得します。この時点で、プログラムはファイル全体をメモリにロードしましたか?メモリ内に 50M のスペースを占有しましたか?それとも入り口が 1 つだけで、コンテンツをループする必要がある場合、ファイルのコンテンツが 1 つずつロードされるのでしょうか?
欧阳克2017-06-15 09:23:27
全体はメモリにロードされませんが、一部のバイトはバッファを通じてキャッシュにロードできます。全体はメモリにロードされませんが、一部のバイトはバッファを通じてキャッシュにロードできます。
淡淡烟草味2017-06-15 09:23:27
入力ストリームを読み込まずに開くだけの場合、ファイルはメモリを占有しません。ファイルの内容が読み取られるときのみ、読み取った分だけメモリが使用されます。