Avatar notebook default
9篇文章 · 27905字 · 1人关注
  • Callable/Future源码解析

    线程池的执行任务有两种方法,一种是 submit、一种是 execute; execute 和 submit 区别 execute 只可以接收一...

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

    在 Java 中,如果每个请求到达就创建一个新线程,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资...

    1.0 8762 7 21
  • Resize,w 360,h 240
    ArrayBlockingQueue源码解析

    在 Java8 中,提供了 7 个阻塞队列 ArrayBlockingQueue 数组实现的有界阻塞队列, 此队列按照先进先出(FIFO)的原则...

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

    本文分析的 ConcurrentHashMap 是基于 jdk1.8 的版本 JDK1.7 和 Jdk1.8 版本的变化ConcurrentHa...

  • Resize,w 360,h 240
    5.CountDownLatch/Semaphore/CyclicBarrier源码解析

    JUC 中提供了几个比较常用的并发工具类,比如 CountDownLatch、CyclicBarrier、Semaphore,他们都是基于AQS...

  • Resize,w 360,h 240
    4.Condition源码解析

    Condition 是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒,相当于o...

  • Resize,w 360,h 240
    3.ReentrantLock源码解析

    J.U.C Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队...

  • Resize,w 360,h 240
    2.Volatile原理

    volatile 可以使得在多处理器环境下保证了共享变量的可见性,那么到底什么是可见性呢?在单线程的环境下,如果向一个变量先写入一个值,然后在没...

  • Resize,w 360,h 240
    1.Synchronized原理

    在多线程并发编程中 synchronized 一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着 Java SE 1.6 对synchro...

文集作者