DESKTOP-86ONKLH_20200904-刘天阳
1、问题
final 、finally 、finalize 的区别
相同
- 这三个词除了长的像,没有任何关系
区别
- final 关键字是个修饰符表示最终的、不可更改
- 被 final 修饰的类,没有子类
- 被 final 修饰的方法,不能被重写
- 被 final 修饰的变量,在初始化后不能再次赋值 (不能二次赋值)
- finally 关键字用于异常处理
- finally 不能单独使用,必须跟 try … 语句 或 try … catch 语句连用
- 程序运行时,不论是否发生异常,finally 代码块都会执行
- 除非遇到 System.exit 方法,否则 finally 代码块一定会执行
- finalize 是 Object 类中定义的一个实例方法
- finalize 方法是 Java 语言诞生之初为了向C++程序员妥协而提供的一个类似于C++中析构函数的方法
- finalize 方法不是析构函数!finalize 方法不是析构函数!finalize 方法不是析构函数!
- 当垃圾回收器(GC)执行垃圾回收操作时,可能会通过调用某个对象的 finalize 方法
- 当垃圾回收器(GC)调用某个对象的 finalize 方法时,可能导致该对象重新恢复到可触及状态,从而无法回收该对象所占用的内存
- 当垃圾回收器(GC)调用某个对象的 finalize 方法后,仍然没有任何引用变量再引用该对象,则GC会回收该对象所占用的内存
2、吐槽
考试了!考试了!考试了!
近期评论