经典回答:

final:可以用来修饰类、方法、变量,分别表示类不可继承、方法不可重写、变量不可修改。

finally:常用于捕获异常(try catch finally)表示总是执行。

finalize:是基础类java.lang.Object的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize机制现在已经不推荐使用,并且在jdk9开始被标记为deprecated。(为什么呢?简单说,你无法保证 finalize 什么时候执行,执行的是否符合预期。使用不当会影响性能,导致程序死锁、挂起等 )

 小提示:deprecated是一个标记注释。所谓标记注释,就是在源程序中加入这个标记后,并不影响程序的编译,但有时编译器会显示一些警告信息

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

java 平台目前在逐步使用 java.lang.ref.Cleaner 来替换掉原有的 finalize 实现。Cleaner 的实现利用了幻象引用(PhantomReference),这是一种常见的所谓 post-mortem 清理机制。避免意外死锁等问题。

 

 

相关文章:

  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2021-10-21
  • 2022-02-08
  • 2021-06-15
  • 2021-12-14
猜你喜欢
  • 2021-11-28
  • 2022-12-23
  • 2021-06-18
  • 2021-10-05
  • 2022-01-23
  • 2021-05-09
  • 2021-05-14
相关资源
相似解决方案