java中finalize使用要斟酌哪些事项
finalize方法是在垃圾回收器回收对象之前调用的,因此不能保证对象的资源会被及时释放。因此,不建议过度依赖finalize方法来释放资源。
finalize方法的履行时机是不肯定的,可能会致使程序性能降落或不稳定。
finalize方法在对象被回收时只会被调用一次,因此不要在finalize方法中进行重复性的资源释放操作。
尽可能避免在finalize方法中抛出异常,由于这可能会致使未捕获的异常致使程序崩溃。
finalize方法是由垃圾回收器线程调用的,因此可能存在多线程安全性问题,需要注意在方法中使用同步控制。
对JVM中的大多数利用程序,不需要手动调用finalize方法,JVM的垃圾回收器会自动处理对象的回收。
TOP