Javaでのメモリ管理を調べようとしています。大きなコレクション (~500MB) を作成するプログラムがあります。java
特別な引数なしで実行します。このコレクションが範囲外に出たら、 を使用してガベージ コレクターを呼び出しSystem.gc()
ます。jconsole から、使用中のヒープ メモリが大幅に削減されていることがわかります。top
linux コマンドの RES 出力についても同じことは言えません。
私の唯一の解釈は、JVM がメモリを取得すると、それが実行されている限りシステムに解放しないということです。これは正しいです?