を実行していないガベージコレクションは、私に次の情報が表示されます -私は出力をのGarbageCollectorMXBean使用して、ガベージコレクションの詳細を印刷していた場合、コードキャッシュメモリプールの
Name: PS ScavengeCollection
count: 72
Collection time: 3041
Memory Pools: PS Eden Space PS Survivor Space
Name: PS MarkSweepCollection
count: 5
Collection time: 4922
Memory Pools: PS Eden Space PS Survivor Space PS Old Gen
今かなり正しくScavengeCollectionとMarkSweepコレクションはの4をカバー
コードキャッシュ(非ヒープメモリ)を除く5の使用可能なメモリプール。
私は、ガベージコレクションは、コードキャッシュメモリプールがCodeCacheManagerメモリプールによって管理
のために走ったことがない理由を知りたいです。
これは、GCがCodeCacheManagerメモリプールからオブジェクトをガベージコレクトしないことを意味しますか?
同じ意味がありますか?
リンクありがとうございましたが、実際にMXBeanを使用する前に、すでにit.Infact経由で行っています。私はNotificationEmitterを理解するために同じリンクを使いました。今あなたのポストは本当に私の質問に答えることはありません。私はなぜGCがコードキャッシュのために走ったのか知りたがっています.JVMに依存するなら、コードキャッシュをGCで利用できる特定のシナリオがあるかもしれません。 GCに適格であるがGCが実行されなかった多くのオブジェクトは潜在的なloopHoleを示していませんか? – AngelsandDemons
これを経験的にテストしたい場合は、JConsoleを実行する必要があります。コードキャッシュを表示し、max(これは難しいでしょう)に記入し、何が起こるかを見てください。コードキャッシュは、JVMによってコンパイルされるメソッドに使用されます。それに対して直接的にプログラムすることはできません。 –