7.避免使用终结方法

2018-03-12  本文已影响0人  哲学与豆包

终结方法(finalizer)通常是不可预测的,也是很危险的,一般情况下是不必要使用它的。使用终结方法会导致行为不稳定,降低性能,以及可移植性的问题,不过终结方法也有其可用之处。

终结方法的坏处

终结方法的好处

建议
当我们需要手动结束一个对象的时候,显示的释放资源,比如InputStream 的 close方法

总结

总之除非是作为资源回收处理的第二道防线(安全网)或者是为了终结非关键的资源,否则请不要使用终结方法。如果没办法真的使用了finalize,别忘记了调用super.finalize()。还应考虑是否使用终结方法守卫者,使未调用super.finalize()方法的类的父类的终结方法也会被执行。

上一篇 下一篇

猜你喜欢

热点阅读