クラスAのオブジェクトを作成します。その時点でJavaはクラスAのメモリを占有しますが、クラスAのオブジェクトにnullを割り当てると、そのオブジェクトのメモリを解放できます
class A{
public long num = 28115733;
}
クラスAのオブジェクトを作成します。その時点でJavaはクラスAのメモリを占有しますが、クラスAのオブジェクトにnullを割り当てると、そのオブジェクトのメモリを解放できます
class A{
public long num = 28115733;
}
クラス A 参照のオブジェクトを null に割り当てると、オブジェクト A はGC の対象になります (すぐにメモリを解放しない場合があります)。
いつメモリが解放されるかは、使用されている JVM およびガベージ コレクタ (GC) アルゴリズム次第です。
あなたはそれについて確信が持てません。に代入nullするとobject reference、objectその参照によって指される はeligibleになりGarbage Collectionます。
しかし、それは完全にその時JVM次第です。releasesmemoryobject
JVMが低下していることを確認した場合は、メモリを解放するmemoryことができます。しかし、それは完全にバックグラウンド プロセスです。そのことについて心配する必要はありません。また、 にメモリを再収集するように明示的に伝えたい場合は、への呼び出しを追加できます。ただし、JVM はすぐにはプロセスを開始しません。それはオンのみになります。kick offgarbage collectorJVMSystem.gc()Garbage CollectionJVM
クラスAのオブジェクトにnullを割り当てると、そのオブジェクトのメモリを解放できます
はい、できますが、必要になるまでメモリを解放しません。
Java のメモリは、ガベージ コレクタ (到達不能なオブジェクトを探し、使用するメモリを返すプロセス) によって再利用されます。これを行うために、オブジェクトを明示的に null に設定する必要はありません。