① final 可以用来修饰类、方法、变量,

  ----final修饰的class代表不可以继承扩展

  ----final的变量不可以修改

  ----final的方法不可以override

  ----final不是immutable,对于list,只能约束list这个引用不能被赋值,但list的对象行为不被final影响,添加元素等操作是完全正常的。

② finally是Java保证重点代码一定要被执行的一种机制,用try-finally 或 try-catch-finally进行类似关闭JDBC连接、保证unlock锁等动作。

  ----try-with-resources or try-finally是非常好的回收资源的方法。如果确实需要额外处理,可以考虑Java 提供的Cleaner机制或者其他代替方法。

③ finalize 是基础类java.lang.Object的一个方法,它设计的目的是保证对象在被垃圾收集前完成特定资源的回收。

  ----finalize机制现在已经不推荐使用(jdk9 deprecated)。不推荐使用的原因是无法保证finalize什么时候执行,执行的是否符合预期,使用不当会影响性能,导致程序死锁,挂起。

Java final finally finalize有什么不同的更多相关文章

  1. Java Final, Finally, Finalize

    Final is a Keyword, final can be used in three different ways: final variable final method final cla ...

  2. C# abstract virtual override new finally java final finalize

    virtual:声明虚方法.可以被其派生类所重写的.重写方法需要使用override或者new关键字. override:覆盖原方法.可对重写virtual.override.abstract进行重写 ...

  3. 【Java面试题系列】:Java中final finally finalize的区别

    本篇为[Java面试题系列]第三篇,文中如有错误,欢迎指正. 第一篇链接:[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 第二篇链接:[Java面试题系列]:Java基础知识常见面试题 ...

  4. final finally finalize

    final  //如果不是final 的话,我可以在checkInt方法内部把i的值改变(有意或无意的,       //虽然不会改变实际调用处的值),特别是无意的,可能会引用一些难以发现的BUG   ...

  5. 软件工程第三周的学习报告 html<input> final finally finalize 的比较 BigInteger

    三月十三号下午: html的<input>的三个属性pattern(限定用户的输入格式)与placeholder(显示的)与required(不能为空) 代码案例: pattern与pla ...

  6. final,finally,finalize有什么区别?String, StringBuffer, StringBuilder有什么区别?Exception和Error有什么区别?

    继上篇JVM学习之后,后面将分三期深入介绍剩余JAVA基础面试题,每期3题. 题目一.final,finally,finalize有什么区别? /*请尊重作者劳动成果,转载请标明原文链接:*/ /* ...

  7. Android源码中final关键字的用法及final,finally,finalize的区别

    Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...

  8. final finally finalize 区别及用法

    final 1,final修饰的class,代表不可以继承扩展. 2.final的方法也是不可以重写的. 3.final修饰的变量是不可以修改的.这里所谓的不可修改对于基本类型来来,的确是不可以修改. ...

  9. 一、基础篇--1.1Java基础-final, finally, finalize 的区别

    final, finally, finalize 首先,这三个关键字没什么关联,只是放在一起比较像,用法用处完全不同. final: final关键字可以用来修饰类.方法.变量(成员变量和局部变量), ...

随机推荐

  1. VS添加命令行参数main(int argc, char** argv)

  2. securecrt 的安装

    http://bbs.feng.com/read-htm-tid-6939481.html ssh  -t  ip地址@用户名  -p 22

  3. C++11新特性之六——元编程

    C++11新特性之六——元编程

  4. c#图片生成png格式和原图不同

    下面这种,会生成和原图类似的图片,png格式的图片该是空的地方仍旧是空的

  5. $.data(elem, key, val) 和 elem.data(key, val)

    var div1 = $("div"),     div2 = $("div"); 1.     div1.data("key", &quo ...

  6. 常用的vue辅助工具vue-devtools

    1,下载: https://github.com/datura-lj/vuedevtools 2,将下载好的文件拖到chrome拓展栏中(更多工具=>拓展程序): 3,修改计算机配置文件: wi ...

  7. Struts2中的OGNL详解 《转》

    首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的 ...

  8. fping命令测试主机存活

    author:headsen  chen date: 2018-10-09 20:11:22 1,测试一个范围内的主机: fping  -a  -g 192.168.1.1 192.168.1.255 ...

  9. Intellij IDEA同时打开多个项目

    extends:http://www.kaifazhe.me/java/99.html 使用eclipse习惯的同学知道是可以同时多个项目查看的,只需要import就可以了,但Intellij IDE ...

  10. xpath定位方法小结(转载)

    1.实例化一个浏览器WebDriver driver = new FirefoxDriver(); 2.driver.get() get传参数到浏览器中 3.常用定位方法webelement XX=d ...