2017-06-22 3 views
-1

マップされたバイトバッファがJavaで直接メモリを占有するかどうか不思議ですか? hereJava - マップされたバイトバッファはダイレクトメモリを占有していますか?

にmentiondように、私はメモリにファイルをマップする直接バイトバッファは直接メモリ

にファイルの領域をマッピングすることによって作成することができる、直接メモリを使用すべきです。しかし、私はJVMのパラメータ "-XX:MaxDirectMemorySize = 200MB"でプログラムを起動し、1GBのファイルをメモリにマップしようとしましたが、これはうまくいきました。さらに、200MBのdirectByteBufferを割り当てた後、1GBのファイルをメモリにマップしようとしましたが、それでも動作しました!だから、メモリのどの部分がバッファにマップされていますか?あなたは小さなメモリに大きなファイルをマップするとき

+0

その引用の意味はどういう意味でしょうか?あなたの質問は「それは何ですか? "may"という単語が答えです:恐らく!多分!になり得る!未知の!依存します! ---あなたがそれを理解するのに役立つ他の言葉? – Andreas

+0

ヒープよりも大きなMMFを使用する際のポイントは何ですか?それはファイルをメモリに配線する目的を破るものです。 – efekctive

答えて

1

は、私が思うに、mappedbytebufferのインスタンスは、あなただけのメモリに を使用しているファイルの領域にマッピングすることがあり、その後に交換するメモリ内のマップされている他の地域MMUによるSWAP(ハードディスク上の仮想メモリ)

関連する問題