java是有自动的垃圾回收机制的。这一点不像c++。在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。你可以查一下java垃圾回收机制的资料,也有助于你写出效率较高的代码。
1.其实,若果想在垃圾回收时做一点事情,可以使用finalize()函数,这是在Object类中定义的,我们只要重载它就可以了。
2.如下代码 可以用System.gc(),来进行手动回收。
class TestGC {
public static void main(String[] args)
{
new TestGC();
System.gc();
System.runFinalization();
}
}
|