多个线程访问也不会出问题,可以方便提高性能
粗略介绍
比较明显的特征是,对于类的属性只有getter没有setter,任何属性只能在构造函数初始化时赋值。这样其中的getter就无需声明为synchronized
同时会有一些常用方法,但其实并不是Immutable的必要条件
- 将共享的类型设置为final,这样无法创建此类的子类,便可以防止子类修改其字段值的一种措施
- 将类的字段设置为private和final。这时字段一旦被赋值就不会再被修改
角色
immutable
创建后字段就不改变
其优点在于,不需要synchronized
进行保护
类图如下
线程图
-
Previous
「Java multithreaded and design pattern 01」Single Threaded Execution pattern -
Next
「CMakeList」How to write CMakeList.txt