注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

Immutable object trade-offs  

2013-06-30 12:30:30|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Immutable objects offer several advantages over mutable objects, and
one potential disadvantage. First, immutable objects are often easier to
reason about than mutable ones, because they do not have complex state
spaces that change over time. Second, you can pass immutable objects
around quite freely, whereas you may need to make defensive copies
of mutable objects before passing them to other code. Third, there is
no way for two threads concurrently accessing an immutable to corrupt
its state once it has been properly constructed, because no thread can
change the state of an immutable. Fourth, immutable objects make safe
hash table keys. If a mutable object is mutated after it is placed into a
HashSet, for example, that object may not be found the next time you
look into the HashSet.

The main disadvantage of immutable objects is that they sometimes
require that a large object graph be copied where otherwise an update
could be done in place. In some cases this can be awkward to express
and might also cause a performance bottleneck. As a result, it is not
uncommon for libraries to provide mutable alternatives to immutable
classes. For example, class StringBuilder is a mutable alternative to
the immutable String. We’ll give you more information on designing
mutable objects in Scala in Chapter 18.
  评论这张
 
阅读(381)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017