摘要: Java中锁的概念 自旋锁:为了不放弃CPU事件,循环使用CAS尝试对数据进行更新,直至成功。 悲观锁:假定会发生并发冲突,对所有操作加锁 乐观锁:假定没有冲突,在修改数据时如果发现数据与之前获取的不一致,则读取最新数据,修改后重试修改 独享锁(写):给资源加上写锁,线程可以修改资源,其他线程不能再 阅读全文
posted @ 2019-01-06 23:29 gluawwa 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 什么是策略模式?其思想是针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换。策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。 假如我们有一个根据不同用户类型返回不同折扣的方法,我们的实现可能是这样: 现在我们各个类型的用户折扣耦合在 阅读全文
posted @ 2019-01-06 16:59 gluawwa 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 在编码过程中,我们经常会遇到完成一个操作需要多个步骤完成的情况。我们可能会把多个步骤写到一个方法里,假如这个操作需要新增步骤,那么势必要修改已有的方法,这违反了开闭原则。 我们可以使用spring的事件机制来简单地实现这种功能。Spring的事件机制用到了观察者模式,何谓观察者模式?观察者模式(有时 阅读全文
posted @ 2019-01-06 16:26 gluawwa 阅读(1377) 评论(0) 推荐(0) 编辑