当一个对象创建后的状态不可改变时就认为其为不可变对象,尽可能地利用不可变对象被公认为是构建简单可靠代码的有效方法。不可变对象在并发程序中比较有用,由于其状态无法改变,因此无法被线程的干扰损坏或者被视为不一致状态。
程序员一般不愿意使用不可变对象,因为他们担心创建一个新对象可能会比更新一个已有对象的状态代价更大,然而往往创建一个对象的影响会被高估,而且会被与不可变对象相关的高效性补偿,这包括降低垃圾回收的开支,免除需要防止可变对象被损坏的代码。
不可变对象语法上没有新的内容,以下定义了一些创建不可变对象的规则,当然不是所有被认为不可变的类都遵从以下规则,是否需要使用不可变对象需要经过系统的分析。
原文:http://www.cnblogs.com/justforcon/p/6106069.html