- 所谓不可变是指多个线程无法同时修改,其实就是底层使用了之前的保护技术例如final,synchronized等
- String是不可变类(至于为什么不可变强烈建议阅读知乎——为什么String不可变?而且又为什么要让String不可变?)
- String的一些切割字符串等操作实际上是复制了一份,通过创建副本对象来避免共享的手段称之为【保护性拷贝(defensive copy)】
- final保证只读而不写,也就保护了安全性
【JUC-6】共享模型之不可变:String,常见不可变设计
于 2022-02-12 20:20:24 首次发布