クラス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
次第です。releases
memory
object
JVM
が低下していることを確認した場合は、メモリを解放するmemory
ことができます。しかし、それは完全にバックグラウンド プロセスです。そのことについて心配する必要はありません。また、 にメモリを再収集するように明示的に伝えたい場合は、への呼び出しを追加できます。ただし、JVM はすぐにはプロセスを開始しません。それはオンのみになります。kick off
garbage collector
JVM
System.gc()
Garbage Collection
JVM
クラスAのオブジェクトにnullを割り当てると、そのオブジェクトのメモリを解放できます
はい、できますが、必要になるまでメモリを解放しません。
Java のメモリは、ガベージ コレクタ (到達不能なオブジェクトを探し、使用するメモリを返すプロセス) によって再利用されます。これを行うために、オブジェクトを明示的に null に設定する必要はありません。