-5

クラスAのオブジェクトを作成します。その時点でJavaはクラスAのメモリを占有しますが、クラスAのオブジェクトにnullを割り当てると、そのオブジェクトのメモリを解放できます

class A{
    public long num = 28115733;

}
4

4 に答える 4

6

クラス A 参照のオブジェクトを null に割り当てると、オブジェクト A はGC の対象になります (すぐにメモリを解放しない場合があります)。

いつメモリが解放されるかは、使用されている JVM およびガベージ コレクタ (GC) アルゴリズム次第です。

于 2012-10-19T14:09:01.343 に答える
2

あなたはそれについて確信が持てません。に代入nullするとobject referenceobjectその参照によって指される はeligibleになりGarbage Collectionます。

しかし、それは完全にその時JVM次第です。releasesmemoryobject

JVMが低下していることを確認した場合は、メモリを解放するmemoryことができます。しかし、それは完全にバックグラウンド プロセスです。そのことについて心配する必要はありません。また、 にメモリを再収集するように明示的に伝えたい場合は、への呼び出しを追加できます。ただし、JVM はすぐにはプロセスを開始しません。それはオンのみになります。kick offgarbage collectorJVMSystem.gc()Garbage CollectionJVM

于 2012-10-19T14:08:50.360 に答える
0

クラスAのオブジェクトにnullを割り当てると、そのオブジェクトのメモリを解放できます

はい、できますが、必要になるまでメモリを解放しません。

于 2012-10-19T14:09:15.117 に答える
0

Java のメモリは、ガベージ コレクタ (到達不能なオブジェクトを探し、使用するメモリを返すプロセス) によって再利用されます。これを行うために、オブジェクトを明示的に null に設定する必要はありません。

于 2012-10-19T14:10:07.613 に答える