ガーベジコレクション

ガーベジコレクション
ガーベジコレクション(GC)とはJavaVirtualMachine(JVM)が参照されなくなったオブジェクトのメモリを開放する機能のことです。
ガーベジコレクションが行われるのはJVMが決めるため、プログラムで制御することはできません。また、いつ行われたかを知ることも出来ません。
プログラマが出来るのはオブジェクトをガーベジコレクションの対象にするところまでです。

ガーベジコレクションの対称にするには、オブジェクトにnullを代入することです。またガーベジコレクションの対象にしたいオブジェクトに異なるオブジェクトを代入してもガーベジコレクションの対象になるようです。


ガーベジコレクションの実行を促す
ガーベジコレクションはプログラムで制御することは出来ませんが、ガーベジコレクションの実行を促すことはできます。
以下のメソッドを実行します。

System.gc();

このメソッドを実行すると、ガーベジコレクションの実行を促すことが出来ます。
但し、ガーベジコレクションの実行はあくまでもJVMが決定します。


ガーベジコレクション実行時の注意
ガーベジコレクション実行時、他のスレッドは完全に停止されます。そのため、ガーベジコレクションはパフォーマンスに影響を与えます。



初版2007/02/09 :最終更新2007/02/09
HOME