finally
是在异常机制中用来处理收尾工作的。不管有没有异常被抛出、捕获,finally块都会被执行。try块中的内容是在无异常时执行到结束。catch块中的内容,是在try块内容发生catch所声明的异常时,跳转到catch块中执行。finally块则是无论异常是否发生,都会执行finally块的内容,所以在代码逻辑中有需要无论发生什么都必须执行的代码,就可以放在finally块中。
final
和static public等一样是关键字,代表不会被更改。
- 修饰变量,一旦被定义则不能更改值(如果修饰引用类型,比如数组,知识保证它的地址不被更改)
- 修饰类,不能派生出子类。
- 修饰方法,不能被重写。
finalize
finalize函数,是虚拟机进行gc(垃圾回收)时会执行被回收的对象 的一个方法,使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者被执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。任何一个对象的finalize()方法都只会被系统自动调用一次。
不靠谱,有可能执行过程中线程就崩溃了。