# java-concurrent

## java-concurrent

- [前言](https://tuonioooo-notebook.gitbook.io/java-concurrent/master.md)
- [Java多线程基础](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu.md)
- [线程简介](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/11-xian-cheng-jian-jie.md)
- [什么是线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/11-xian-cheng-jian-jie/shi-yao-shi-xian-cheng.md)
- [为什么要使用多线程/线程使用的好处](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/11-xian-cheng-jian-jie/wei-shi-yao-yao-shi-yong-duo-xian-cheng.md)
- [线程的优先级](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/11-xian-cheng-jian-jie/xian-cheng-you-xian-ji.md)
- [线程的状态](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/11-xian-cheng-jian-jie/xian-cheng-zhuang-tai.md)
- [Daemon线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/11-xian-cheng-jian-jie/daemonxian-cheng.md)
- [启动和终止线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/qi-dong-he-zhong-zhi-xian-cheng.md)
- [构造线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/qi-dong-he-zhong-zhi-xian-cheng/gou-zao-xian-cheng.md)
- [启动线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/qi-dong-he-zhong-zhi-xian-cheng/qi-dong-xian-cheng.md)
- [中断线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/qi-dong-he-zhong-zhi-xian-cheng/zhong-duan-xian-cheng.md)
- [过期的suspend()、resume()和stop()](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/qi-dong-he-zhong-zhi-xian-cheng/guo-qi-de-suspend-resume-he-stop.md)
- [安全地终止线程](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/qi-dong-he-zhong-zhi-xian-cheng/an-quan-di-zhong-zhi-xian-cheng.md)
- [多线程实现方式](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/1duo-xian-cheng-shi-xian-fang-shi.md)
- [多线程环境下，局部变量和全局变量都会共享吗？](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/duo-xian-cheng-huan-jing-xia-ff0c-ju-bu-bian-liang-he-quan-ju-bian-liang-du-hui-gong-xiang-ma-ff1f.md)
- [Java线程间的协助和通信](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin.md)
- [Thread.join的使用](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin/threadjoinde-shi-yong.md)
- [volatile、ThreadLocal、synchronized3个关键字区别](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin/volatilethreadlocalsynchronized3ge-guan-jian-zi-qu-bie.md)
- [volatile关键字](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin/volatile-guan-jian-zi.md)
- [ThreadLocal关键字](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin/threadlocalguan-jian-zi.md)
- [synchronized关键字](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin/synchronized-guan-jian-zi.md)
- [Java线程等待和通知的相关方法](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/javaxian-cheng-zhi-jian-de-tong-xin/javadeng-dai-he-tong-zhi-de-xiang-guan-fang-fa.md)
- [实战应用](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/shi-zhan-ying-yong.md)
- [连接池](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/shi-zhan-ying-yong/lian-jie-chi.md)
- [线程池](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/shi-zhan-ying-yong/xian-cheng-chi.md)
- [如何计算合适的线程数](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-yi-7ae0-java-duo-xian-cheng-ji-chu/shi-zhan-ying-yong/ru-he-ji-suan-he-shi-de-xian-cheng-shu.md)
- [Java线程池与框架](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia.md)
- [Executor 框架](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/executor-kuang-jia-yu-xian-cheng-chi.md)
- [自定义线程池——ThreadPoolExecutor](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/zi-ding-yi-xian-cheng-chi-2014-2014-threadpoolexecutor.md)
- [线程池工具类（单例模式）](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/xian-cheng-chi-gong-ju-lei.md)
- [关闭线程池](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/guan-bi-xian-cheng-chi.md)
- [合理地配置线程池](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/he-li-di-pei-zhi-xian-cheng-chi.md)
- [线程池的监控](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/xian-cheng-chi-de-jian-kong.md)
- [RejectedExecutionException产生的原因](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/rejectedexecutionexceptionchan-sheng-de-yuan-yin.md)
- [SpringBoot配置线程池工具类](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/springbootpei-zhi-xian-cheng-chi-gong-ju-lei.md)
- [FutureTask详解](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/futruetaskxiang-jie.md)
- [CompletionService讲解](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/completionservicejiang-jie.md)
- [Future、FutureTask、CompletionService、CompletableFuture区别](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-er-zhang-java-xian-cheng-chi-yu-kuang-jia/futurefuturetaskcompletionservicecompletablefuturequ-bie.md)
- [Java内存模型](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing.md)
- [Java 内存模型的基础](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/java-nei-cun-mo-xing-de-ji-chu.md)
- [并发编程模型的两个关键问题](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/java-nei-cun-mo-xing-de-ji-chu/bing-fa-bian-cheng-mo-xing-de-liang-ge-guan-jian-wen-ti.md)
- [Java内存模型的抽象结构](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/java-nei-cun-mo-xing-de-ji-chu/javanei-cun-mo-xing-de-chou-xiang-jie-gou.md)
- [从源代码到指令序列的重排序](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/java-nei-cun-mo-xing-de-ji-chu/cong-yuan-dai-ma-dao-zhi-ling-xu-lie-de-zhong-pai-xu.md)
- [并发编程模型的分类](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/java-nei-cun-mo-xing-de-ji-chu/bing-fa-bian-cheng-mo-xing-de-fen-lei.md)
- [重排序](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/zhong-pai-xu.md)
- [数据依赖性](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/zhong-pai-xu/shu-ju-yi-lai-xing.md)
- [as-if-serial语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/zhong-pai-xu/as-if-serialyu-yi.md)
- [程序顺序规则](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/zhong-pai-xu/cheng-xu-shun-xu-gui-ze.md)
- [重排序对多线程的影响](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/zhong-pai-xu/zhong-pai-xu-dui-duo-xian-cheng-de-ying-xiang.md)
- [顺序一致性](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shun-xu-yi-zhi-xing.md)
- [数据竞争与顺序一致性](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shun-xu-yi-zhi-xing/shu-ju-jing-zheng-yu-shun-xu-yi-zhi-xing.md)
- [顺序一致性内存模型](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shun-xu-yi-zhi-xing/shun-xu-yi-zhi-xing-nei-cun-mo-xing.md)
- [同步程序的顺序一致性效果](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shun-xu-yi-zhi-xing/tong-bu-cheng-xu-de-shun-xu-yi-zhi-xing-xiao-guo.md)
- [未同步程序的执行特性](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shun-xu-yi-zhi-xing/wei-tong-bu-cheng-xu-de-zhi-xing-te-xing.md)
- [volatile内存语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/volatilenei-cun-yu-yi.md)
- [volatile的特性](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/volatilenei-cun-yu-yi/volatilede-te-xing.md)
- [volatile写-读建立的happens-before关系](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/volatilenei-cun-yu-yi/volatile5199-du-jian-li-de-happens-before-guan-xi.md)
- [volatile写-读的内存语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/volatilenei-cun-yu-yi/volatile5199-du-de-nei-cun-yu-yi.md)
- [volatile内存语义的实现](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/volatilenei-cun-yu-yi/volatilenei-cun-yu-yi-de-shi-xian.md)
- [JSR-133为什么要增强volatile的内存语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/volatilenei-cun-yu-yi/jsr-133wei-shi-yao-yao-zeng-qiang-volatile-de-nei-cun-yu-yi.md)
- [锁内存定义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/suo-nei-cun-ding-yi.md)
- [锁的释放-获取建立的happens-before关系](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/suo-nei-cun-ding-yi/suo-de-shi-653e-huo-qu-jian-li-de-happens-before-guan-xi.md)
- [锁的释放和获取的内存语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/suo-nei-cun-ding-yi/suo-de-shi-fang-he-huo-qu-de-nei-cun-yu-yi.md)
- [锁内存语义的实现](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/suo-nei-cun-ding-yi/suo-nei-cun-yu-yi-de-shi-xian.md)
- [concurrent包的实现](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/suo-nei-cun-ding-yi/concurrentbao-de-shi-xian.md)
- [final域内存语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi.md)
- [final域的重排序规则](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/finalyu-de-zhong-pai-xu-gui-ze.md)
- [写final域的重排序规则](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/xie-final-yu-de-zhong-pai-xu-gui-ze.md)
- [读final域的重排序规则](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/du-final-yu-de-zhong-pai-xu-gui-ze.md)
- [final域为引用类型](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/finalyu-wei-yin-yong-lei-xing.md)
- [为什么final引用不能从构造函数内“溢出”](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/wei-shi-yao-final-yin-yong-bu-neng-cong-gou-zao-han-shu-nei-201c-yi-chu-201d.md)
- [final语义在处理器中的实现](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/finalyu-yi-zai-chu-li-qi-zhong-de-shi-xian.md)
- [JSR-133为什么要增强final的语义](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/finalyu-nei-cun-yu-yi/jsr-133wei-shi-yao-yao-zeng-qiang-final-de-yu-yi.md)
- [happens-before](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/happens-beforejian-jie.md)
- [双重检查锁定与延迟初始化](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shuang-zhong-jian-cha-suo-ding-yu-yan-chi-chu-shi-hua.md)
- [双重检查锁定的由来](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shuang-zhong-jian-cha-suo-ding-yu-yan-chi-chu-shi-hua/shuang-zhong-jian-cha-suo-ding-de-you-lai.md)
- [问题的根源](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shuang-zhong-jian-cha-suo-ding-yu-yan-chi-chu-shi-hua/wen-ti-de-gen-yuan.md)
- [基于volatile的解决方案](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shuang-zhong-jian-cha-suo-ding-yu-yan-chi-chu-shi-hua/ji-yu-volatile-de-jie-jue-fang-an.md)
- [基于类初始化的解决方案](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/shuang-zhong-jian-cha-suo-ding-yu-yan-chi-chu-shi-hua/ji-yu-lei-chu-shi-hua-de-jie-jue-fang-an.md)
- [Java内存模型综述](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/javanei-cun-mo-xing-zong-shu.md)
- [处理器的内存模型](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/javanei-cun-mo-xing-zong-shu/chu-li-qi-de-nei-cun-mo-xing.md)
- [各种内存模型之间的关系](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/javanei-cun-mo-xing-zong-shu/ge-zhong-nei-cun-mo-xing-zhi-jian-de-guan-xi.md)
- [JMM的内存可见性保证](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/javanei-cun-mo-xing-zong-shu/jmmde-nei-cun-ke-jian-xing-bao-zheng.md)
- [JSR-133对旧内存模型的修补](https://tuonioooo-notebook.gitbook.io/java-concurrent/di-san-zhang-java-nei-cun-mo-xing/javanei-cun-mo-xing-zong-shu/jsr-133dui-jiu-nei-cun-mo-xing-de-xiu-bu.md)
- [HashMap实现原理](https://tuonioooo-notebook.gitbook.io/java-concurrent/hashmapshi-xian-yuan-li.md)
- [讲解(一)](https://tuonioooo-notebook.gitbook.io/java-concurrent/hashmapshi-xian-yuan-li/yuan-li-ff08-yi-ff09.md)
- [讲解(二)](https://tuonioooo-notebook.gitbook.io/java-concurrent/hashmapshi-xian-yuan-li/jiang-89e328-4e8c29.md)
- [HashMap原理(面试篇)](https://tuonioooo-notebook.gitbook.io/java-concurrent/hashmapshi-xian-yuan-li/hashmapde-gong-zuo-yuan-740628-mian-shi-7bc729.md)
- [HashMap原理（面试篇二）](https://tuonioooo-notebook.gitbook.io/java-concurrent/hashmapshi-xian-yuan-li/hashmap-yuan-li-mian-shi-pian-er.md)
- [ConcurrentHashMap的实现原理与使用](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong.md)
- [为什么要使用ConcurrentHashMap](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong/wei-shi-yao-yao-shi-yong-concurrenthashmap.md)
- [ConcurrentHashMap的结构](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong/concurrenthashmapde-jie-gou.md)
- [ConcurrentHashMap的初始化](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong/concurrenthashmapde-chu-shi-hua.md)
- [定位Segment](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong/ding-wei-segment.md)
- [ConcurrentHashMap的操作](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong/concurrenthashmapde-cao-zuo.md)
- [ConcurrentHashMap讲解(一)](https://tuonioooo-notebook.gitbook.io/java-concurrent/concurrenthashmapde-shi-xian-yuan-li-yu-shi-yong/concurrenthashmapjiang-89e328-4e0029.md)
- [Java中的阻塞队列](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-zu-sai-dui-lie.md)
- [什么是阻塞队列](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-zu-sai-dui-lie/shi-yao-shi-zu-sai-dui-lie.md)
- [Java里的阻塞队列](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-zu-sai-dui-lie/javali-de-zu-sai-dui-lie.md)
- [阻塞队列的实现原理](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-zu-sai-dui-lie/zu-sai-dui-lie-de-shi-xian-yuan-li.md)
- [Fork/Join框架](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia.md)
- [什么是Fork/Join框架](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/shi-yao-shifork-join-kuang-jia.md)
- [工作窃取算法](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/gong-zuo-qie-qu-suan-fa.md)
- [Fork/Join框架的设计](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/forkjoinkuang-jia-de-she-ji.md)
- [使用Fork/Join框架](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/shi-yong-fork-join-kuang-jia.md)
- [Fork/Join框架的异常处理](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/forkjoinkuang-jia-de-yi-chang-chu-li.md)
- [Fork/Join框架的实现原理](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/forkjoinkuang-jia-de-shi-xian-yuan-li.md)
- [ForkJoinPool的commonPool相关参数配置](https://tuonioooo-notebook.gitbook.io/java-concurrent/forkjoinkuang-jia/forkjoinpoolde-commonpool-xiang-guan-can-shu-pei-zhi.md)
- [java.util.concurrent包讲解](https://tuonioooo-notebook.gitbook.io/java-concurrent/javautilconcurrentbao-jiang-jie.md)
- [线程安全AtomicInteger的讲解](https://tuonioooo-notebook.gitbook.io/java-concurrent/javautilconcurrentbao-jiang-jie/xian-cheng-an-quan-atomicinteger-de-jiang-jie.md)
- [CompletableFuture讲解](https://tuonioooo-notebook.gitbook.io/java-concurrent/javautilconcurrentbao-jiang-jie/java8xin-te-xing-zhi-completablefuture.md)
- [CompletableFuture接口详解](https://tuonioooo-notebook.gitbook.io/java-concurrent/javautilconcurrentbao-jiang-jie/java8xin-te-xing-zhi-completablefuture/completablefuture4e0029.md)
- [CompletableFuture与parallelStream()性能差异](https://tuonioooo-notebook.gitbook.io/java-concurrent/javautilconcurrentbao-jiang-jie/java8xin-te-xing-zhi-completablefuture/completablefutureyu-parallelstream-xing-neng-cha-yi.md)
- [CompletableFuture接口详解2](https://tuonioooo-notebook.gitbook.io/java-concurrent/javautilconcurrentbao-jiang-jie/java8xin-te-xing-zhi-completablefuture/completablefuturejie-kou-xiang-jie-2.md)
- [Java线程安全](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan.md)
- [性能与可伸缩性](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan/xing-neng-yu-ke-shen-suo-xing.md)
- [解决死锁](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan/jie-jue-si-suo.md)
- [死锁定义](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan/si-suo-ding-yi.md)
- [如何让多线程下的类安全](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan/ru-he-rang-duo-xian-cheng-xia-de-lei-an-quan.md)
- [类的线程安全性定义](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan/lei-de-xian-cheng-an-quan-xing-ding-yi.md)
- [实战：实现一个线程安全的单例模式](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaxian-cheng-an-quan/shi-zhan-ff1a-shi-xian-yi-ge-xian-cheng-an-quan-de-dan-li-mo-shi.md)
- [Java常用并发开发工具和类的源码分析](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi.md)
- [CountDownLatch](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/countdownlatch.md)
- [CyclicBarrier](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/cyclicbarrier.md)
- [Semaphore](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/semaphore.md)
- [Exchange](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/exchange.md)
- [ConcurrentHashMap](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/concurrenthashmap.md)
- [ConcurrentSkipListMap](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/concurrentskiplistmap.md)
- [HashMap](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/hashmap.md)
- [HashMap源码实现及分析](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/hashmap/hashmapyuan-ma-shi-xian-ji-fen-xi.md)
- [HashMap的一些面试题](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/hashmap/hashmapde-yi-xie-mian-shi-ti.md)
- [List](https://tuonioooo-notebook.gitbook.io/java-concurrent/javachang-yong-bing-fa-kai-fa-gong-ju-he-lei-de-yuan-ma-fen-xi/list.md)
- [Java中的锁](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-suo.md)
- [基础知识](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-suo/ji-chu-zhi-shi.md)
- [番外篇](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-suo/fan-wai-pian.md)
- [synchronized 是可重入锁吗？为什么？](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-suo/synchronized-shi-ke-zhong-ru-suo-ma-ff1f-wei-shi-yao-ff1f.md)
- [自旋锁](https://tuonioooo-notebook.gitbook.io/java-concurrent/javazhong-de-suo/zi-xuan-suo.md)
- [Java多线程的常见问题](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaduo-xian-cheng-de-chang-jian-wen-ti.md)
- [常见问题一](https://tuonioooo-notebook.gitbook.io/java-concurrent/javaduo-xian-cheng-de-chang-jian-wen-ti/chang-jian-wen-ti-yi.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://tuonioooo-notebook.gitbook.io/java-concurrent/master.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
