同じ JVM 引数を使用して、Java 製品で同じシナリオを複数回実行しています。すべての実行は、その期間と「開始時間」の両方に関して異なる GC 動作を提供します。これは期待されていますか?
質問する
1519 次
3 に答える
2
Java VM 仕様では、ガベージ コレクションの実装方法は指定されていません。したがって、決定論的な動作を想定することはできません。
出典: Java® 仮想マシン仕様、Java SE 7 Edition : 2.5.3。ヒープ
仮想マシンの起動時にヒープが作成されます。オブジェクトのヒープ ストレージは、自動ストレージ管理システム (ガベージ コレクターと呼ばれます) によって再利用されます。オブジェクトが明示的に割り当て解除されることはありません。Java 仮想マシンは、特定のタイプの自動ストレージ管理システムを想定していません。ストレージ管理手法は、実装者のシステム要件に従って選択できます。ヒープは、固定サイズにすることも、計算の必要に応じて拡張することも、より大きなヒープが不要になった場合に縮小することもできます。ヒープのメモリは連続している必要はありません。
要約: はい、あなたが観察している動作は正常であり、期待できるものです。
于 2013-05-17T11:59:37.587 に答える