1 对象的自动清除
引用计数,类似于 C++ 中的
shared_ptr
String method() {
String a, b;
a = new String("hello world");
b = new String("game over");
System.out.println(a + b + "Ok");
a = null; // 此时 a 被释放
a = b;
return a;
}
1.1 System.gc() 方法
System.gc()
是 static 方法。- 可以“建议 ( suggest )”系统进行垃圾回收。
1.2 finalize() 方法
- Java 中没有析构方法
- 但 Object 的
finalize()
有类似的功能- 系统在回收时会自动调用对象的
finalize()
方法 protected void finalize() throws Throwable {}
- 系统在回收时会自动调用对象的
- 可以在子类的
finalize()
方法中释放系统资源- 一般来说,子类的
finalize()
方法应该调用父类的finalize()
方法,以保证父类的清理工作能够正常进行一般
finalize()
方法很少用,因为系统释放资源的时机不好掌握。
- 一般来说,子类的