1

一部のJDKをテストしており、ガベージコレクションを複数回トリガーする必要があります。簡単なプログラムでこれを簡単に行うにはどうすればよいですか?例は非常に役立ちます。ありがとうございました。

4

3 に答える 3

3

ガベージコレクションに関する適切な説明については、ここを参照してください。(前の回答で述べたように)実行を要求することはできますが、それは保証ではないので、呼び出しをあまり想定しないでください。最善のオプションは、新しいオブジェクトを何度も作成および破棄することです。それらを破壊できるようにするには、ブロック内にそれらを作成し、再度閉じます。おそらくこのようなもの:

for(int i = 0; i < MAX; ++i) {
    {
        Integer i = new Integer(0);
    }
}

そして、外部でメモリ使用量を監視できますか?

于 2012-07-26T20:13:27.573 に答える
2

System.gc()ガベージコレクションのリクエストに使用できます

このSOの議論は、あなたの質問の文脈で興味深いかもしれません

于 2012-07-26T20:03:13.730 に答える
1

Oracleドキュメントの使用からSystem.gc()

public static void gc()

ガベージコレクターを実行します。gcメソッドを呼び出すことは、Java仮想マシンが、現在占有しているメモリを迅速に再利用できるようにするために、未使用のオブジェクトのリサイクルに労力を費やすことを示唆しています。制御がメソッド呼び出しから戻ると、Java仮想マシンは、破棄されたすべてのオブジェクトからスペースを再利用するために最善を尽くしました。

System.gc()の呼び出しは、実質的に次の呼び出しと同等です。

Runtime.getRuntime()。gc()

于 2012-07-26T20:04:11.693 に答える