zoukankan      html  css  js  c++  java
  • java面试题之final、finalize和finally的区别

    finally:finally是一个关键字,与try和catch一起用于异常的处理,finally块一定会执行,无论在try快中是否有发生异常。
    finalize:finalize方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用finalize没有保证。
    final是最重要的,以下重点介绍以下:
    1、可以修饰类,不可以被继承;
    2、可以修饰方法,不可以被重写;JVM会尝试将其内联,以提高运行效率
    3、可以修饰变量,不可以被改变。如果修饰引用,那么表示引用不可变,引用指向的内容不可变。
    4、可以修饰常量,在编译阶段会存入常量池中;
    5、编译器对final域要遵守的两个重排序规则:
      a、在构造函数内对一个final域的写入,与随后把这个被构造函数对象的引用赋值给一个引用变量,这两个操作之间不能重排序;
      b、初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。

      

  • 相关阅读:
    1、如何使用Azure Rest API创建虚拟机
    Ansible---2的Roles使用
    linux下的shell脚本
    生成器 yield和协程
    xshell
    markdown的使用
    加密
    Hbuilder打包app
    尾递归
    jupyter
  • 原文地址:https://www.cnblogs.com/hujinshui/p/10212127.html
Copyright © 2011-2022 走看看