Java中垃圾回收机制finalize()

 “  在使用程序库的时候,把一个对象用完后就弃之不顾的做法并不是安全的”   ——Java编程思想

 先来看看你finalize()这个方法的工作原理:在JVM(Java虚拟机)中,在准备销毁对象所占用的内存之前,会先调用finalize()这个方法,来进行内存的销毁以及回收。但是finalize()并不是C++中的析构函数,并不需要每次都将对象完全销毁,只要在JVM内存没有满的那一刻,那么内存空间就永远不会自动释放出来,除非使用finalize()的时候,所以说这个方法在Java中并不常见或者说用的时间和途径很少。、

   之前也提到过,如果将对象每次执行完都存放在内存里也是并不十分安全的,所以在这一方面就得用到finalize();所以,除此之外,只要在JVM的内存没有满之前,它是不会浪费时间去执行垃圾回收机制的。

   此外,finalize()也会被用来检查一个程序错误的所在,也就是检查程序的缺陷,我相信这是一个最常用的方法;

   所以说在平时的学习工作中,finalize()作为一个隐晦而又实用的方法也是我们每一个人需要掌握的一个方法。

你可能感兴趣的:(java生活)