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