摘要: 计数信号量(Counting Semaphore)用来控制同时访问某个特定资源的操作数量,或者执行某个特定操作的数量。计数信号量还可以用来实现某种资源池或者对容器加边界。 Semaphore中管理着一组虚拟许可(permit),许可的初始数量可以通过在构造方法中指定。在执行操作时首先获取许可(per 阅读全文
posted @ 2015-07-05 10:42 开心朵朵 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 我们可以通过闭锁(CountDownLatch)来同时启动一组相关线程,或等待一组相关线程的结束。可是闭锁是一次性对象,一旦进入终止状态,就不能被重置。栅栏类似于闭锁,它能够阻塞一组线程直到某个事件发生。CyclicBarrier可以使一定数量的参与线程反复地在栅栏处汇集。... 阅读全文
posted @ 2015-07-04 08:04 开心朵朵 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 实现并发的最直接方式是在操作系统级别使用进程。进程是运行在自己的地址空间内的自包容程序。多任务操作系统可以通过周期性地将CPU从一个进程切换到另一个进程,来实现同时运行多个进程的。操作系统将进程相互隔离开,因此他们不会相互干扰,这使得通过进程实现并发编程相对容易一些。而JAVA的并发... 阅读全文
posted @ 2015-07-03 15:02 开心朵朵 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 排它锁(Exclusive Locks,简称X锁)又称之为独占锁,是一种基本的锁类型。排他锁的核心就是如何保证仅有一个线程获取到锁,并且在锁释放后,可以及时地通知到其他等待获取锁定的线程。下面使用ZK实现了一个简单的排它锁。 定义锁 在ZK下定义一个临时节点节点表示锁 /**排它锁节点**/ pri 阅读全文
posted @ 2015-07-02 12:48 开心朵朵 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 在Spring web项目中XmlWebApplicationContext是如何创建的?首先在web.xml中我们可以看到如下配置 contextConfigLocation classpath*:META-INF/spring/*.xml org.springfram... 阅读全文
posted @ 2015-07-01 22:18 开心朵朵 阅读(595) 评论(0) 推荐(0) 编辑
摘要: DispatcheServlet类图,我们根据其类图进行源码分析 GenericServlet 源码分析 /** * 定义一个通用的,协议无关的Servlet.如果需要编写一个在Web中使用的Http Severlet需要继承HttpServlet * GeneraicServle... 阅读全文
posted @ 2015-06-28 10:49 开心朵朵 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 上一节分析了ZooKeeper的部分代码,下面我们看看客户端网络连接器的部分代码 /** 这个类管理客户端的socket I/O。ClientCnxn维护一个可用服务器列表可以根据需要透明地切换服务器 * */ public class ClientCnxn { private static fin 阅读全文
posted @ 2015-06-27 09:32 开心朵朵 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 为了更好地了解ZooKeeper客户端的工作原理,首先需要从客户端的会话创建过程学起。 初始化阶段: 初始化ZooKeeper对象 通过调用ZooKeeper的构造方法实例化一个ZooKeeper对象,在初始化过程中会创建一个客户端Watcher管理器ClientWatcherManager 设置会 阅读全文
posted @ 2015-06-26 23:32 开心朵朵 阅读(169) 评论(0) 推荐(0) 编辑
摘要: /** *通过注解方式MBean导出器,继承MBeanExporter */public class AnnotationMBeanExporter extends MBeanExporter { private final AnnotationJmxAttributeSource ... 阅读全文
posted @ 2015-06-23 23:13 开心朵朵 阅读(392) 评论(0) 推荐(0) 编辑
摘要: Spring集成JMX是很简单的,这里通过注解发方式暴露JMX,有的时序我们需要监听JMX属性的改变,下面我们在Spring配置文件中配置监听器。 涉及到三个重要的annotation:@ManagedResource @ManagedAttribute 和 @ManagedOperati... 阅读全文
posted @ 2015-06-21 13:53 开心朵朵 阅读(699) 评论(0) 推荐(0) 编辑