Avatar notebook default
22篇文章 · 32695字 · 4人关注
  • AbstractQueuedSynchronizer 源码解析 ( 下 )

    1 释放锁 释放锁的触发时机就是我们常用的Lock.unlock()方法,目的就是让线程释放对资源的访问权。释放锁也是分为两类,一类是排它锁的释...

  • Resize,w 360,h 240
    AbstractQueuedSynchronizer 源码解析 ( 上 )

    AbstractQueuedSynchronizer 中文翻译叫做同步器,简称 AQS,是各种各样锁的基础,比如说 ReentrantLock、...

  • Resize,w 360,h 240
    ArrayBlockingQueue 源码解析

    耐心和恒心总会得到报酬的。 1 整体架构 我们从类注释上可以得到一些有用的信息: 1.1 类注释 有界的阻塞数组,容量一旦创建,后续大小无法修改...

  • Resize,w 360,h 240
    DelayQueue 源码解析

    如果不想在世界上虚度一生,那就要学习一辈子。 1 整体设计 DelayQueue 延迟队列底层使用的是锁的能力,比如说要在当前时间往后延迟5秒执...

  • Resize,w 360,h 240
    SynchronousQueue 源码解析

    1 整体架构 SynchronousQueue 的整体设计比较抽象,在内部抽象出了两种算法实现,一种是先入先出的队列,一种是后入先出的堆栈,两种...

  • Resize,w 360,h 240
    LinkedBlockingQueue 源码解析

    从不浪费时间的人,没有工夫抱怨时间不够。 1 整体架构 LinkedBlockingQueue 中文叫做链表阻塞队列,这个命名很好,从命名上就直...

  • Resize,w 360,h 240
    CopyOnWriteArrayList 源码解析和设计思路

    在 ArrayList 的类注释上,JDK 就提醒了我们,如果要把 ArrayList 作为共享变量的话,是线程不安全的,推荐我们自己加锁或者使...

  • Resize,w 360,h 240
    HashSet、TreeSet源码解析

    1 HashSet 1.1 类注释 看源码先看类注释上,我们可以得到的信息有: 底层实现基于HashMap,所以迭代时不能保证按照插入顺序,或者...

  • TreeMap 和 LinkedHashMap 核心源码解析

    1 知识储备 在了解 TreeMap 之前,我们来看下日常工作中排序的两种方式,作为我们学习的基础储备,两种方式的代码如下: 第一种排序输出的结...

文集作者