再java语言中,所有的程序都围绕着对象的创建、调用、与销毁。但是大部分的时候我们都是再调用对象,跟没有创建对象与销毁对象。
创建对象的工作常常交给了框架或者容器。
销毁对象的工作常常有gc机制。System.gc()应该只是通知JVM进行垃圾清理。真正销毁对象的还是对象的finalize(),但是student.finalize()就证明了student对象有引用,
调用finalize()是不会销毁对象的。finalize()一直都是对象再调用,从来不是引用调用。但是我们一直都是使用引用操作对象的,所以我们不可能调用finalize()销毁对象,
只有虚拟机调用对象.finalize()才能销毁对象。
原文:https://www.cnblogs.com/pogusanqian/p/12419622.html