Java 理论与实践: 变还是不变?
摘要:
不变对象是指在实例化后其外部可见状态无法更改的对象。Java 类库中的String、Integer和BigDecimal类就是不变对象的示例 ― 它们表示在对象的生命期内无法更改的单个值。不变性的长处如果正确使用不变类,它们会极大地简化编程。因为它们只能处于一种状态,所以只要正确构造了它们,就决不会陷入不一致的状态。您不必复制或克隆不变对象,就能自由地共享和高速缓存对它们的引用;您可以高速缓存它们的字段或其方法的结果,而不用担心值会不会变成失效的或与对象的其它状态不一致。不变类通常产生最好的映射键。而且,它们本来就是线程安全的,所以不必在线程间同步对它们的访问。自由高速缓存因为不变对象的值没有 阅读全文
posted @ 2012-01-03 21:19 evilying 阅读(265) 评论(0) 推荐(0) 编辑