这是一份完整的Java 并发整理笔记,记录了我最近几年学习Java并发的一些心得和体会。

  1. J.U.C 整体认识
  2. 原子操作 part 1 从AtomicInteger开始
  3. 原子操作 part 2 数组、引用的原子操作
  4. 原子操作 part 3 指令重排序与happens-before法则
  5. 原子操作 part 4 CAS操作
  6. 锁机制 part 1 Lock与ReentrantLock
  7. 锁机制 part 2 AQS
  8. 锁机制 part 3 加锁的原理 (Lock.lock)
  9. 锁机制 part 4 锁释放与条件变量 (Lock.unlock And Condition)
  10. 锁机制 part 5 闭锁 (CountDownLatch)
  11. 锁机制 part 6 CyclicBarrier
  12. 锁机制 part 7 信号量 (Semaphore)
  13. 锁机制 part 8 读写锁 (ReentrantReadWriteLock) (1)
  14. 锁机制 part 9 读写锁 (ReentrantReadWriteLock) (2)
  15. 锁机制 part 10 锁的一些其它问题
  16. 并发容器 part 1 ConcurrentMap (1)
  17. 并发容器 part 2 ConcurrentMap (2)
  18. 并发容器 part 3 ConcurrentMap (3)
  19. 并发容器 part 4 并发队列与Queue简介
  20. 并发容器 part 5 ConcurrentLinkedQueue
  21. 并发容器 part 6 可阻塞的BlockingQueue (1)
  22. 并发容器 part 7 可阻塞的BlockingQueue (2)
  23. 并发容器 part 8 可阻塞的BlockingQueue (3)
  24. 并发容器 part 9 双向队列集合 Deque
  25. 并发容器 part 10 双向并发阻塞队列 BlockingDeque
  26. 并发容器 part 11 Exchanger
  27. 并发容器 part 12 线程安全的List/Set CopyOnWriteArrayList/CopyOnWriteArraySet
  28. 线程池 part 1 简介
  29. 线程池 part 2 Executor 以及Executors
  30. 线程池 part 3 Executor 生命周期
  31. 线程池 part 4 线程池任务拒绝策略
  32. 线程池 part 5 周期性任务调度
  33. 线程池 part 6 线程池的实现及原理 (1)
  34. 线程池 part 7 线程池的实现及原理 (2)
  35. 线程池 part 8 线程池的实现及原理 (3)
  36. 线程池 part 9 并发操作异常体系
  37. 并发总结 part 1 死锁与活跃度
  38. 并发总结 part 2 常见的并发场景
  39. 并发总结 part 3 常见的并发陷阱
  40. 并发总结 part 4  性能与伸缩性
  41. 捕获Java线程池执行任务抛出的异常

深入浅出 Java Concurrency - 目录 [转]的更多相关文章

  1. 深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则

    转: http://www.blogjava.net/xylz/archive/2010/07/03/325168.html 在这个小结里面重点讨论原子操作的原理和设计思想. 由于在下一个章节中会谈到 ...

  2. 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题

      主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的 ...

  3. 《深入浅出 Java Concurrency》——原子操作

    part1 从AtomicInteger開始 从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包.而Queue.非常多情况下使用到了Atomic操作.因此首 ...

  4. 深入浅出 Java Concurrency (35): 线程池 part 8 线程池的实现及原理 (3)[转]

    线程池任务执行结果 这一节来探讨下线程池中任务执行的结果以及如何阻塞线程.取消任务等等. 1 package info.imxylz.study.concurrency.future;2 3 publ ...

  5. 深入浅出 Java Concurrency (34): 线程池 part 7 线程池的实现及原理 (2)[转]

    线程池任务执行流程 我们从一个API开始接触Executor是如何处理任务队列的. java.util.concurrent.Executor.execute(Runnable) Executes t ...

  6. 深入浅出 Java Concurrency (33): 线程池 part 6 线程池的实现及原理 (1)[转]

    线程池数据结构与线程构造方法 由于已经看到了ThreadPoolExecutor的源码,因此很容易就看到了ThreadPoolExecutor线程池的数据结构.图1描述了这种数据结构. 图1 Thre ...

  7. 深入浅出 Java Concurrency (28): 线程池 part 1 简介[转]

    从这一节开始正式进入线程池的部分.其实整个体系已经拖了很长的时间,因此后面的章节会加快速度,甚至只是一个半成品或者简单化,以后有时间的慢慢补充.完善. 其实线程池是并发包里面很重要的一部分,在实际情况 ...

  8. 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题[转]

    主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的一点 ...

  9. 深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则[转]

    在这个小结里面重点讨论原子操作的原理和设计思想. 由于在下一个章节中会谈到锁机制,因此此小节中会适当引入锁的概念. 在Java Concurrency in Practice中是这样定义线程安全的: ...

随机推荐

  1. java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY

    2019-07-24 17:24:35 下午 [Thread: http-8080-4][ Class:net.sf.ehcache.store.disk.Segment Method: net.sf ...

  2. DIV常用属性大全自己整理

    一.属性列表 代码如下: color : #999999 文字颜色 font-family : 宋体 文字字型 font-size : 10pt 文字大小 font-style:itelic 文字斜体 ...

  3. webpack 简单笔记(三)vue-cli 使用 webpack-bundle-analyzer 分析

    当我们使用CommonsChunkPlugin插件时可以使用webpack-bundle-analyzer插件来分析分块是否达到我们的目地 安装 npm install --save-dev webp ...

  4. 在Eclipse中修改Jsp页面的新增模板

    打开Eclipse的Preferences页面 路径: Window à Preferences 搜索"jsp",点击"Templates",选择要修改的Jsp ...

  5. 服务器访问数据库表mysql

    服务器的MySQL配置就不说了,直接说一些用到的基础命令 登陆 show databases; use 数据库: show tables; 执行sql即可: 一定要有分号 select * from ...

  6. 2018-8-10-如何删除错误提交的-git-大文件

    title author date CreateTime categories 如何删除错误提交的 git 大文件 lindexi 2018-08-10 19:16:51 +0800 2018-2-1 ...

  7. JS规则 我还有其它用途( +号操作符)例如,算术操作符(+、-、*、/等),比较操作符(<、>、>=、<=等),逻辑操作符(&&、||、!)

    我还有其它用途( +号操作符) 操作符是用于在JavaScript中指定一定动作的符号. (1)操作符 看下面这段JavaScript代码. sum = numa + numb; 其中的"= ...

  8. es6 + 笔记整理

    1. ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数: const required = () => {throw new Error('Missing ...

  9. day06 tar命令使用,vim简单操作以及linux开机过程

    上节课复习: cat: 查看全部文件内容 head: 从头查看文件内容,默认为前10行 tail: tail -f //动态查看文件是否增加内容 >> 追加 > 覆盖 more: 百 ...

  10. thinkphp 组合查询

    组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string).复合查询(_complex).请求字符串查询(_query),混合查询中的特殊查询每次查询只能定 ...