2017年4月10日
摘要:
最近我一直在阅读“Rest实践”的草稿:一本几位同事一直在努力编写的书。 他们的目的是解释如何使用Restful Web服务来处理企业面临的许多集成问题。 这本书的核心在于这样一种观点,Web以一个有效的可扩展分布式系统存在,它的工作效果非常好,这足以证明我们可以从中得到想法轻松地构建集成系统。 图
阅读全文
posted @ 2017-04-10 18:18
力奋
阅读(281)
推荐(0)
2017年4月6日
posted @ 2017-04-06 10:19
力奋
阅读(170)
推荐(0)
2017年3月30日
摘要:
单一职责原则论述:把因相同原因而变化的东西聚合一起,而把因不同原因而变化的东西分离开来。Gather together those things that change for the same reason, and separate those things that change for di
阅读全文
posted @ 2017-03-30 11:22
力奋
阅读(337)
推荐(0)
摘要:
Happens-Before规则 程序顺序规则。如果程序中操作A在操作B之前,那么在线程中A操作将在B操作之前执行。 监视器锁规则。在监视器锁上的解锁操作必须在同一个监视器锁上的加锁操作之前执行。 volatile变量规则。对volatile变量的写入操作必须在对该变量的读操作之前执行。 线程启动规
阅读全文
posted @ 2017-03-30 10:06
力奋
阅读(199)
推荐(0)
2017年3月28日
摘要:
如果在某种算法中,一个线程的失败或挂起不会导致其他线程也失败和挂起,那么这种算法就被称为非阻塞算法。如果在算法的每个步骤中都存在某个线程能够执行下去,那么这种算法也被称为无锁(Lock-Free)算法。如果在算法中仅将CAS用于协调线程之间的操作,并且能正确地实现,那么它既是一种无阻塞算法,又是一种
阅读全文
posted @ 2017-03-28 09:57
力奋
阅读(175)
推荐(0)
2017年3月27日
摘要:
如果线程本地的计算量较少,那么在锁和原子变量上的竞争将非常激烈。如果线程本地的计算量较多,那么在锁和原子变量上的竞争会降低,因为在线程中访问锁和原子变量的频率将降低。 在高度竞争的情况下,锁的性能将超过原子变量的性能。在中低程度的竞争下,原子变量能提供更高的可伸缩性。而在高强度的竞争下,锁能够更有效
阅读全文
posted @ 2017-03-27 10:49
力奋
阅读(272)
推荐(0)
2017年3月24日
摘要:
NumberRange既不能使用指向不可变对象的volatile引用来安全地实现上界和下界,也不能使用原子的整数来保存这两个边界。由于有一个不变性条件限制了两个数值,并且它们无法在同时更新时还维持该不变性条件,因此如果在数值范围类中使用volatile引用或者多个原子整数,那么将出现不安全的“先检查
阅读全文
posted @ 2017-03-24 10:30
力奋
阅读(281)
推荐(0)
2017年3月17日
摘要:
void stateDependentMethod() throws InterruptedException { //必须通过一个锁来保护条件谓词 synchronized(lock) { while(!conditionPredicate) lock.wait(); //现在对象处于合适的状态
阅读全文
posted @ 2017-03-17 14:34
力奋
阅读(144)
推荐(0)
2017年3月10日
摘要:
在一些内置锁无法满足需求的情况下,ReentrantLock可以作为一种高级工具。当震要一些高级功能时才应该使用ReentrantLock,这些功能包括:可定时的、可轮询的与可中断的锁获取操作,公平队列,以及非块结构的锁。否则,还是应该优先使用synchronized。 ReentrantLock在
阅读全文
posted @ 2017-03-10 17:48
力奋
阅读(100)
推荐(0)
摘要:
我的github地址https://github.com/birdstudiocn
阅读全文
posted @ 2017-03-10 12:56
力奋
阅读(159)
推荐(0)