并发编程专题开篇
2016-09-08 16:46
190 查看
自认为还算是一个技术爱好者(软件相关)。不管是在学校还是在工作岗位上,都一直保持买书,看书的这样一个优良习惯。除了保持内心沉(zhuang)静(bi),更重要的是我能系统深入学到很多东西。
但是自从患上拖延症和懒癌之后,我学到的很多东西都藏在肚子里,最后烂在肚子里了,也就白学了。因此,我决定,未来4个月好好总结和回顾过去学到的东西,并且以专题的形式总结和分享出来(尽最大努力酿酒,巷子深浅与否看造化了)。
9月和10月(2016)我想总结和分享的专题是Java编程里最具有挑战性的一个----并发编程。
根据我对并发编程的理解,我将深入浅出,由表入里,步步为营将并发编程分成这样13篇文章来讲解。当然,这远远不是并发编程的全部。很多知识点我也只能说一个思路或者大概样貌,不可能面面俱到。下面是我暂时拟出的一个讲解框架:
并发编程历史观
这里主要说一下并发编程的由来,一些基本概念和术语。同时会从宏观(分布式)和微观(多线程)谈一下并发。最后,展望一下未来,说一下协程。
Java并发编程的基本手段
实现Java多线程的手段以及基本用法(Thread,Runnable,Callable),static,final等对线程安全的意义
多线程带来的线程安全和线程通信问题
引出临界区,数据竞争以及线程通信模型,深入讲解线程通信的方法(分析ThreadLocal类)以及意义
深入理解原子性与可见性
因为多线程通信问题,可能引发原子性和可见性等问题,从Java语言层面讲解原子性和可见性
深入理解Java内存模型(JMM)
继续深入,理解JMM,从JMM角度深入理解synchronized和volatile
J.U.C概述
JDK并发工具包介绍,从该包的结构以及功能上做一个概述,为后面的分解铺垫思路
深入J.U.C中的锁
深入分析Java语言层面提供的锁机制以及实现原理,对比分析synchronized的异同和优劣
深入J.U.C中Executor框架
深入分析Java中线程池,比较分析4中线程池的异同以及用法
深入J.U.C中并发容器类
简单分析各个容器类的作用和用法,重点分析ConcurrentHashMap
深入J.U.C中原子类
简单分析各种原子类的用法以及作用,重点分析CAS操作的实现以及底层机制
深入J.U.C中并发工具类
简单分析各个工具类的用法以及作用,重点分析CountDownLatch和CyclicBarrier
并发编程总结
总结这个专题的意义以及不足,说一下并发的测试思路
这个思路从简单到复杂,基本是按照并发编程学习的思路来的。当然,各个章节也很独立。可以作为单独的复习或学习参考。希望这个专题能给自己和他人带来知识上的梳理与巩固。
Good Luck to you and me!
首发我的个人博客:http://wantedonline.cn
但是自从患上拖延症和懒癌之后,我学到的很多东西都藏在肚子里,最后烂在肚子里了,也就白学了。因此,我决定,未来4个月好好总结和回顾过去学到的东西,并且以专题的形式总结和分享出来(尽最大努力酿酒,巷子深浅与否看造化了)。
9月和10月(2016)我想总结和分享的专题是Java编程里最具有挑战性的一个----并发编程。
根据我对并发编程的理解,我将深入浅出,由表入里,步步为营将并发编程分成这样13篇文章来讲解。当然,这远远不是并发编程的全部。很多知识点我也只能说一个思路或者大概样貌,不可能面面俱到。下面是我暂时拟出的一个讲解框架:
并发编程历史观
这里主要说一下并发编程的由来,一些基本概念和术语。同时会从宏观(分布式)和微观(多线程)谈一下并发。最后,展望一下未来,说一下协程。
Java并发编程的基本手段
实现Java多线程的手段以及基本用法(Thread,Runnable,Callable),static,final等对线程安全的意义
多线程带来的线程安全和线程通信问题
引出临界区,数据竞争以及线程通信模型,深入讲解线程通信的方法(分析ThreadLocal类)以及意义
深入理解原子性与可见性
因为多线程通信问题,可能引发原子性和可见性等问题,从Java语言层面讲解原子性和可见性
深入理解Java内存模型(JMM)
继续深入,理解JMM,从JMM角度深入理解synchronized和volatile
J.U.C概述
JDK并发工具包介绍,从该包的结构以及功能上做一个概述,为后面的分解铺垫思路
深入J.U.C中的锁
深入分析Java语言层面提供的锁机制以及实现原理,对比分析synchronized的异同和优劣
深入J.U.C中Executor框架
深入分析Java中线程池,比较分析4中线程池的异同以及用法
深入J.U.C中并发容器类
简单分析各个容器类的作用和用法,重点分析ConcurrentHashMap
深入J.U.C中原子类
简单分析各种原子类的用法以及作用,重点分析CAS操作的实现以及底层机制
深入J.U.C中并发工具类
简单分析各个工具类的用法以及作用,重点分析CountDownLatch和CyclicBarrier
并发编程总结
总结这个专题的意义以及不足,说一下并发的测试思路
这个思路从简单到复杂,基本是按照并发编程学习的思路来的。当然,各个章节也很独立。可以作为单独的复习或学习参考。希望这个专题能给自己和他人带来知识上的梳理与巩固。
Good Luck to you and me!
首发我的个人博客:http://wantedonline.cn
相关文章推荐
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- IBM---Java 多线程与并发编程专题
- 【郭林专刊】Java 多线程与并发编程专题
- IBM---Java 多线程与并发编程专题
- go context专题(一)- go 并发编程基础设施
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题
- Java 多线程与并发编程专题(转)
- 【郭林专刊】Java 多线程与并发编程专题
- java并发编程的转载博客专题
- java-java多线程与并发编程专题
- Java 多线程与并发编程专题
- 高并发编程专题-说明