java并发编程是一个优秀的开发者成长过程中绕不过去的挑战。数据库服务,Web服务,大数据处理框架,分布式服务等等,并发编程往往扮演着极其重要的角色。天下武功,唯快不破。要想提高性能,并发必不可少。
市面上大多数讲解并发的视频教程大多基于线程的基础,深入讲解的非常少;对于市面上很多的并发书籍,虽然内容深刻,但层次性总归不好,可能会让很多的初学者望而却步。本套教程就是由浅入深,带你一步一步领略并发的精髓与魅力之所在。
本套教程从使用出发,然后研究其原理,阅读其源码,然后从Java虚拟机的角度来进行深入分析。由浅入深,层层递进,初学者可以更好的过渡,老司机们也可以根据自己的情况来进行选择学学习的层次。不管你现在处于哪一个层次,相信通过本套教程都能对你有所提高。
我把并发学习分成以下四个个阶段:
1、掌握基本的API,能够熟练的编写正确的多线程程序
2、熟读API源码,理解其实现的原理,并能够举一反三
3、了解java虚拟机的内存模型
4、了解操作系统对多线程的支持
本套教程课程大纲就按照上面的层次进行设计,力求从这些方面对并发进行深入的探索,让你能够轻松的解决面试,工作中所遇到的并发相关问题。
课程大纲:
第1讲 你真的了解并发吗?
第2讲 理解多线程与并发的之间的联系与区别
第3讲 解析多线程与多进程的联系以及上下文切换所导致资源浪费问题
第4讲 学习并发的四个阶段并推荐学习并发的资料
第5讲 线程的状态以及各状态之间的转换详解
第6讲 线程的初始化,中断以及其源码讲解
第7讲 多种创建线程的方式案例演示(一)带返回值的方式
第8讲 多种创建线程的方式案例演示(二)使用线程池
第9讲 Spring对并发的支持:Spring的异步任务
第10讲 使用jdk8提供的lambda进行并行计算
第11讲 了解多线程所带来的安全风险
第12讲 从线程的优先级看饥饿问题
第13讲 从Java字节码的角度看线程安全性问题
第14讲 synchronized保证线程安全的原理(理论层面)
第15讲 synchronized保证线程安全的原理(jvm层面)
16讲 单例问题与线程安全性深入解析
第17讲 理解自旋锁,死锁与重入锁
第18讲 深入理解volatile原理与使用
第19讲 JDK5提供的原子类的操作以及实现原理
第20讲 Lock接口认识与使用
第21讲 手动实现一个可重入锁
第22讲 AbstractQueuedSynchronizer(AQS)详解
第23讲 使用AQS重写自己的锁
第24讲 重入锁原理与演示
第25讲 读写锁认识与原理
第26讲 细读ReentrantReadWriteLock源码
第27讲 ReentrantReadWriteLock锁降级详解
第28讲 线程安全性问题简单总结
第29讲 线程之间的通信之wait/notify
第30讲 通过生产者消费者模型理解等待唤醒机制
第31讲 Condition的使用及原理解析
第32讲 使用Condition重写wait/notify案例并实现一个有界队列
第33讲 深入解析Condition源码
第34讲 实战:简易数据连接池
第35讲 线程之间通信之join应用与实现原理剖析
第36讲 ThreadLocal 使用及实现原理
第37讲 并发工具类CountDownLatch详解
第38讲 并发工具类CyclicBarrier 详解
第39讲 并发工具类Semaphore详解
第40讲 并发工具类Exchanger详解
第41讲 CountDownLatch,CyclicBarrier,Semaphore源码解析
第42讲 提前完成任务之FutureTask使用
第43讲 Future设计模式实现(实现类似于JDK提供的Future)
第44讲 Future源码解读
第45讲 Fork/Join框架详解
第46讲 同步容器与并发容器
第47讲 并发容器CopyOnWriteArrayList原理与使用
第48讲 并发容器ConcurrentLinkedQueue原理与使用
第49讲 Java中的阻塞队列原理与使用
第50讲 实战:简单实现消息队列
第51讲 并发容器ConcurrentHashMap原理与使用
第52讲 线程池的原理与使用
第53讲 Executor框架详解
第54讲 实战:简易web服务器(一)
第55讲 实战:简易web服务器(二)
第56讲 JDK8的新增原子操作类LongAddr原理与使用
第57讲 JDK8新增锁StampedLock详解
第58讲 重排序问题
第59讲 happens-before简单概述
第60讲 锁的内存语义
第61讲 volatile内存语义
第62讲 final域的内存语义
第63讲 实战:问题定位
声明:本站所有资料均来源于网络以及用户发布,如对资源有争议请联系微信客服我们可以安排下架!