这篇文章上次修改于 1904 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 >其实这三个词关系不是很大,但是因为长的像,所以在中国是常见的面试题。哈哈 1.final 修饰变量/参数,不可更改(指针),如果时list,则里面还是能添加对象的,这点和immutable不同啊。 2.finally 和try配合使用,除非try里面用了System.exit()否则,finally一定会执行。 3.finalize 是给垃圾回收器用的。但是垃圾回收的时间是不确定的,所以可能造成OOM哦。而且jvm在调用finalize的时候会吞掉里面的任何异常,造成不可预知的结果。JDK9已经标记这个方法为depreciate。如果想用,可以用java.lang.ref.Cleaner,虽然单独出线程来处理了。不会造成死锁,但是还是建议不要用cleaner。最好的方法还是用完显式的释放。
没有评论