final可以用来修饰类、方法、变量,分别有不同的意义, final修饰的class代表不可以继承扩展, final的变量是不可以修改的,而final的方法也是不可以重写的(override)
finally则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-finally或者try catch-finally来进行类似关闭JDBC连接、保证unlock锁等动作。
finalize是基础类java.lang.Object的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize机制现在已经不推荐使用,并且在JDK 9开始被标记为deprecated.
final
使用final修饰类可以有效避免API使用者更改基础功能,某种程度上,这是保证平台安全的必要手段。
使用final修饰参数或者变量,也可以清楚地避免意外赋值导致的编程错误。
在特定情况下可以提高性能
finally
需要关闭资源时使用,推荐使用java7中的try-with-resources语句因为java平台能更好的处理异常
常见的考题
上面finally里的代码时不会实行的,因为已经把服务关了
system.exit(0):正常退出,程序正常执行结束退出 system.exit(1):是非正常退出,就是说无论程序正在执行与否,都退出
finalize不推荐使用的过时东西就不在说了