关于final优化以及单例静态内部类
来源:14-1 个人中心页面实现
少年可好
2018-06-29
1.最近看深入理解Java虚拟机发现,final修饰的局部变量经编译后是不保留其final属性的,那么局部变量用final修饰的好处在哪里?
2.单例的静态内部类写法和double check写法,为什么在高并发中推荐静态内部类,网上查了许久,没找到满意的答案,请老师解惑。
最后,问一下老师,您回答我的大部分问题的时间都在半夜3点左右,老师是真的秉承着"只要学不死,就往死里学"的精神学习和工作吗?
写回答
1回答
-
傅猿猿
2018-07-01
你研究的对着呢,JAVA虚拟机确实是会自动优化,我是在公司架构久了,不得不养成习惯去约束人,人是最难约束的,用final就是告诉程序员,你丫别给我改,不能改。当然对机器是没什么区别的,对人就不一样了,有些人不注意,把不应该改的变量反复赋值了,业务逻辑错了,关键还不报错,所以我在公司强制规定的,不变的,就给人看到。
然后JAVA虚拟机的静态内部类,是绝对线程安全的,就像枚举类一样。双check第一是写着别扭,第二是其实还要判断是不是Null,这本身在高频访问是极其不推荐的,所以干嘛要去用呢,除了需要多参数场景
最后就是,我写交易所得和国外的程序员一起写啊,时差怎么办,外加事情真的特别多,每个小时都占满了,只能这样
打这么多字,你就说6不650
相似问题