javase
v=luozhaogong
放弃是最终的归宿
展开
-
多线程之 final
final 变量在并发当中,原理是通过禁止cpu的指令集重排序来提供线程的可见性,来保证对象的安全发布,防止对象引用被其他线程在对象被完全构造完成前拿到并使用。与锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能...原创 2019-01-22 16:35:57 · 626 阅读 · 0 评论 -
String为什么是Final的?
1、Final的用途final可修饰类、方法、变量 被final修饰的类不可被继承、被修饰的方法不能被重写 被final修饰的变量不可变,必须初始化等String是被final修饰的类,其属性value[] 是被final修饰的。所以String是不可被继承的,value[]被存储的数据不可更改性(引用地址不可更改,数组本身可变),但是value[]是private修饰的,而且S...原创 2019-03-25 20:02:12 · 2791 阅读 · 0 评论