seaboat的专栏——a free boat on the sea.

思想自由,技术自由

乐观的并发策略——基于CAS的自旋

悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题;而乐观者的人生观则相反,凡事不管最终结果如何,他都会先尝试去做,大不了最后不成功。这就是悲观锁与乐观锁的区别,悲观锁会把整个对象加锁占为自有后才去做操作,乐观锁不获取锁直接...

2014-09-09 20:30:51

阅读数:4564

评论数:3

合成/聚合复用原则(CARP)

组合/聚合复用原则(Composite/Aggregate Reuse Principle或CARP),就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新对象通过向这些对象的委派达到复用已有功能的目的。这两种都是关联关系的一种,聚合表示整体与部分的关系,部分可以脱离整体作为独立个...

2014-09-07 19:34:17

阅读数:1517

评论数:0

悲观的并发策略——Synchronized互斥锁

volatile既然不足以保证数据同步,那么就必须要引入锁来确保。互斥锁是最常见的同步手段,在并发过程中,当多条线程对同一个共享数据竞争时,它保证共享数据同一时刻只能被一条线程使用,其他线程只有等到锁释放后才能重新进行竞争。对于java开发人员,我们最熟悉的肯定就是用synchronized关键词...

2014-09-05 19:02:12

阅读数:3774

评论数:0

ISP(Interface Segregation Principle),接口隔离原则

ISP(Interface Segregation Principle),接口隔离原则   它要求如下: ①  一个类对另一个类的依赖性要建立在最小接口上。 ②  使用多个专门的接口比使用单一的总接口要好。 ③  没有关系的接口不可合并成一个臃肿的大接口。 ④  对于臃肿的大接口应分成...

2014-09-03 14:53:52

阅读数:1323

评论数:0

volatile足以保证数据同步吗

上一节已经了解了java内存模型,JMM为了提高执行性能,引入了工作内存和主存两个概念,在继续讨论之前必须先搞清四种存储介质:寄存器、高级缓存、RAM和ROM。 RAM与ROM大家都比较熟悉了,可以看成是我们经常说的内存与硬盘,寄存器属于处理器里面的一部分,而高级缓存cache是CPU设计者为提高...

2014-09-02 20:42:43

阅读数:2635

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭