创建后状态不能修改的对象叫做不可变对象。不可变对象天生是线程安全的。它们的常量(域)是在构造函数中创建的。既然它们的状态无法修改,这些常量永远不会变。
不可变对象永远是线程安全的。
只有满足如下状态,一个对象才是不可变的;
- 它的状态不能在创建后再被修改;
- 所有域都是final类型;并且,
- 它被正确创建(创建期间没有发生this引用的逸出)。
时间: 2024-10-08 18:37:37
创建后状态不能修改的对象叫做不可变对象。不可变对象天生是线程安全的。它们的常量(域)是在构造函数中创建的。既然它们的状态无法修改,这些常量永远不会变。
不可变对象永远是线程安全的。
只有满足如下状态,一个对象才是不可变的;
- 它的状态不能在创建后再被修改;
- 所有域都是final类型;并且,
- 它被正确创建(创建期间没有发生this引用的逸出)。