Java回顾---final,finally,finalize

finally

修饰符(关键字)在Java中,final关键字可以用来修饰类、方法和变量。

  1. 修饰类当用final修饰一个类时,表明这个类不能被继承。
  2. 修饰方法当用final修饰一个方法时,该方法是不能被子类所覆盖的。
  3. 修饰变量当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;
    如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。

finally(异常处理)

finally关键字一般用于异常处理中。**finally结构使代码总会执行,不关有无异常发生。**finally在try,catch中可以有,可以没有。如果trycatch中有finally则必须执行finally块中的操作。一般情况下,用于关闭文件的读写操作,或者是关闭数据库的连接等等。

finalize(垃圾回收)

finalize方法是Object提供的的实例方法,通过调用finalize()方法在垃圾收集器将对象从内存中清理出去之前做必要的清理工作。
finaliza方法执行流程:当对象变成(GC Roots)不可达时,GC会判断该对象是否覆盖了finalize方法,若未覆盖或finalize()方法已被调用,则直接将其回收(没有必要执行)。否则,将该对象放入F-Queue队列,由一低优先级Finalizer线程执行该队列中对象的finalize方法。(但并不承诺等待运行结束)执行finalize方法完毕后,GC会再次判断该对象是否可达,若不可达,则进行回收,否则,对象“复活”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值