微信号:RonCoo_com

介绍:龙果学院:IT技术分享

Java并发编程原理与实战

2018-01-31 11:57 龙果


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节:实战:问题定位


关注微信公众号,回复任意关键字【redis】【Dubbo】【分布式事务】【spring boot】【spring cloud】【ELK】【ES】【Docker】【spark】【Java虚拟机】【并发编程】【Dubbo源码】【Web安全】【python】【zabbix】【亿级流量】【MySQL】【机器学习】【大数据】【微信】【小程序】【开源】【架构】【后台管理】可以查看相应视频教程


戳原文查看视频!
 
龙果 更多文章 架构师之路-在Dubbo中开发REST风格的远程调用 深度解剖dubbo源码 祝贺龙果开源支付系统--荣获2017码云最火爆开源项目第9名 漫谈spring cloud分布式服务架构 架构师之路-创业互联网公司如何搭建自己的技术架构
猜您喜欢 国运之战 【游戏安全】关于某P对硬件断点做出的保护分析及对抗办法 使用 VS Code 远程调试 Python 程序 作为高级Java,你应该了解的Linux知识 memcached分布式实现原理