-2

オブジェクトとそのすべてのデータ構造によって使用されるメモリをアプリケーションメモリに再利用するにはどうすればよいですか。これがないと、メモリチェックを提案System.gc()するだけで、必ずしも実行する必要はありません。これには、のようなメソッドも含まれます。finalize

言い換えると、があり、HashMapそれが格納するすべてのデータをメモリから削除したいとします。私は通常、このタイプのコレクションをcleanメソッドを使用してクリーンアップするか、アタッチしますnullが、それによってメモリスペースがアプリケーションに戻されないようです。

編集

次のように言いましょう。

    TIntObjectHashMap<byte[]> map=new TIntObjectHashMap<byte[]>();
    //fill the map with 20GB
    map.clear();
   //Or map=null;

20GBを無料で戻すべきではありませんか?それが問題です。

4

2 に答える 2

9

基本的にはできません。ガベージコレクションを完全に強制するためにできることは何もありません。また、オブジェクトを手動で削除することはできません。

ガベージコレクターを愛し、信頼することを学びます。

于 2013-03-01T21:11:06.467 に答える
2

ガベージコレクションを強制することはできません。System.gc()メソッドを呼び出すことしかできませんが、これはガベージコレクターへのヒ​​ントにすぎず、強制的にコレクションを実行することはありません。

于 2013-03-01T21:15:01.823 に答える