字典的实现
跟HashMap差不多,不过hash碰撞不使用红黑树而是一昧拉链
条件队列就像烤面包机中通知"面包已烤好"的铃声.如果注意听着铃声,那么当面包烤好后可以立刻得到通知,开始吃面包.如果没有听见铃声,那么会错过消息通知,但回到厨房时还可以观察烤面包机的状态,如果已经烤好,就取出面包;没有烤好就再次留意铃声
在基于AQS构建的同步器类中,最基本的操作包括各种形式的获取操作和释放操作.
获取操作是一种依赖状态的操作,并且通常会阻塞.当使用锁或信号量时,"获取"操作的含义就很直观,即获取的是锁或者许可,并且调用者可能会一直等待直到同步器类处于可被获取的状态.在使用CountDownLatch时,“获取"操作意味着"等待并直到闭锁到达结束状态”,而在使用FutureTask时,“获取"操作意味着"等待并直到任务已经完成”."释放"并不是一个可阻塞的操作,当执行"释放"操作时,所有在请求时被阻塞的线程都会开始执行.
1 | public interface Lock { |
容错策略中的负载均衡都使用了抽象父类AbstractCluster中定义的Invoker