kezhuw对《大型分布式网站架构设计与实践》的笔记(2)

大型分布式网站架构设计与实践
  • 书名: 大型分布式网站架构设计与实践
  • 作者: 陈康贤
  • 副标题: 一线工作经验总结,囊括大型分布式网站所需技术的全貌、架构设计的核心原理与典型案例、常见问题及解决方案,有细节、接地气
  • 页数: 460
  • 出版社: 电子工业出版社
  • 出版年: 2014-9-1
  • 第34页
    synchronized(pos) { if (pos >= keySet.size()) { pos = 0; } server = keyList.get(pos); pos++; }
    错误:
    * pos = 0; 之后,其他线程可能锁住新的 pos,从而进入临界区;
    * pos++; pos 自身是 volatile 的 ? 如果不是,改变之后对其他线程不一定可见,一般来说锁引用应该是不可变的;
    * new Integer(x) 和 new Integer(y) 如果 x == y ,这两个表达式可能返回同一个 Object ,可能和不相关的代码块产生锁竞争。
    第 37 页,也一样。
    2016-07-02 00:47:25 回应
  • 第244页
    虚拟内存 swap
    虚拟内存 和 swap 不是一回事吧 ?
    2016-07-02 17:15:48 回应