4

同じ JVM 引数を使用して、Java 製品で同じシナリオを複数回実行しています。すべての実行は、その期間と「開始時間」の両方に関して異なる GC 動作を提供します。これは期待されていますか?

4

3 に答える 3

2

Java VM 仕様では、ガベージ コレクションの実装方法は指定されていません。したがって、決定論的な動作を想定することはできません。

出典: Java® 仮想マシン仕様、Java SE 7 Edition : 2.5.3。ヒープ

仮想マシンの起動時にヒープが作成されます。オブジェクトのヒープ ストレージは、自動ストレージ管理システム (ガベージ コレクターと呼ばれます) によって再利用されます。オブジェクトが明示的に割り当て解除されることはありません。Java 仮想マシンは、特定のタイプの自動ストレージ管理システムを想定していません。ストレージ管理手法は、実装者のシステム要件に従って選択できます。ヒープは、固定サイズにすることも、計算の必要に応じて拡張することも、より大きなヒープが不要になった場合に縮小することもできます。ヒープのメモリは連続している必要はありません。

要約: はい、あなたが観察している動作は正常であり、期待できるものです。

于 2013-05-17T11:59:37.587 に答える