1)当垃圾回收时调用finalize()。但是垃圾回收不一定何时发生所以不能用指望该方法清理对象。JVM不到内存耗尽的时候是不会调用垃圾回收的。 2)对于用特殊方式创建(本地方法)的对象,需要用finalize()中调用相应的方法释放内存。