面试题:final关键字
面试题 关键字 Final
2023-09-11 14:16:49 时间
- final 标记的类不能被继承 。提高安全性,提高程序的可读性。
- final标记的方法不能被子类重写。
- final标记的变量,只能被赋值一次,即称为常量。
- final和abstract这两个关键字是反相关的,final类就不可能是abstract的。
- final方法在编译阶段绑定,称为静态绑定(static binding)。
对于final域,编译器和处理器要遵守两个重排序规则:
1.在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。
原因:编译器会在final域的写之后,发现 final 变量的赋值也会通过 putfield 指令来完成,插入一个StoreStore屏障
2.初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。
编译器会在读final域操作的前面插入一个LoadLoad屏障
相关文章
- C#面试题集锦
- 2022软件测试高频面试题汇总(附带答案)「 建议收藏 」
- 测试面试 | 头铁硬肝自动化测试,跳槽薪资翻 3 倍(附面试题)
- BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
- 2023年春招热点面试题(一)------新特性
- 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1
- 复盘:大厂面试题:线程和进程区别
- APP测试面试题汇总(基础篇、进阶篇)
- 八年测开经验面试28K公司后,吐血整理出高频面试题和答案
- mybatis面试题及回答
- 10个有难度的Java面试题(含答案)
- 肝了!一篇文章搞定1000道大厂Java面试题
- 几道高频的JVM面试题
- java高级程序员线程池剖析面试题及答案
- Spring IOC 相关的面试题
- 【面试题】JavaScript面试题详细总结(一)
- 面试题系列1
- Linux面试题总结(2022最新版)
- Unity 面试题汇总(四)shader 图形学知识点相关
- 数据库面试题