Java并发编程实战-王宝令-极客时间-返现24元

极客时间专栏 2019-03-19 23:11:15 阅读(79702) 评论(0)

极客时间出品的《Java并发编程实战》课程由网宝令所写,15年来一直大型互联网公司从事Java开发。对于一个Java程序员而言,能否熟练掌握并发编程是判断他优秀与否的重要标准之一。因为并发编程是Java语言中最为晦涩的知识点,它涉及操作系统、内存、CPU、编程语言等多方面的基础能力,更为考验一个程序员的内功。

那到底应该怎么学习并发编程呢?Java SDK的并发工具包有很多,是要死记硬背每一个工具的优缺点和使用场景吗?当然不是,想要学好并发编程,你需要从一个个单一的知识和技术中“跳出来”,高屋建瓴地看问题,并逐步建立自己的知识体系。

本专栏希望能够帮助你建立起一张处理并发问题的全景图,让你能够彻底理解并发问题的本质所在。同时,专栏还会深入介绍Java并发编程技术背后的逻辑关系以及应用场景,助你能够游刃有余地游走在这些技术之中。

Java并发编程实战

订阅价格:

订阅价: ¥99,2人拼团价:¥79

已有11310 人已学习 · 共45讲 · 每周二 / 四 / 六更新,本课程为图文+音频课程。可在极客时间APP/小程序/网站上永久观看。

Java并发编程实战专栏价格

用我的邀请购买,返现24元。购买的朋友请加我微信号 dismissmewp    备注:返现。

Java并发编程实战作者简介

王宝令,资深架构师,毕业于东北大学,目前在某大型互联网公司从事电商架构相关的设计工作。王宝令曾主导研发了支持高并发处理能力的API网关、高性能数据库连接池以及海量数据归档平台。

Java并发编程实战作者王宝令

毕业至今,王宝令已前前后后写了15年的程序,曾任职于用友、金蝶、惠普等公司。最近6年他一直从事Java开发平台和基础中间件的设计开发工作。

Java并发编程实战专栏模块

专栏共45期,分为5大模块。

1.Java并发理论基础

这个模块主要介绍并发编程相关的概念和理论。但不会死板地堆叠结论,而是关注具体概念和理论的产生背景,挖掘它们背后的逻辑关系,发现核心矛盾并寻找解决方案。比如,深度认识Java内存模型、死锁产生的原因和解决方案、线程间的协作机制,等等。

2.Java并发工具类

这个模块主要探讨Java SDK里的并发工具类。这些工具类大部分都是基于管程实现的,所以这里会首先介绍隐藏在并发包中的管程及其使用。紧接着还会为你详细解读信号量、读写锁、CountDownLatch和CyclicBarrier,以及并发编程的三个核心问题“分工”“同步”“互斥”相关的技术内容。

3.Java并发设计模式

并发设计模式是解决并发问题的最佳实践。这个模块将会介绍9种常见的设计模式。其中,前3种设计模式的核心思想是避免共享变量,从而避免并发问题;后面6种设计模式则都属于典型的分工模式。

4.Java并发编程实战案例分析

这个模块着重分析4个经典的开源框架是如何处理并发问题的,包括高性能限流器Guava RateLimiter、高性能网络应用框架Netty、高性能队列Disruptor、高性能数据库连接池HiKariCP,希望能够帮你融会贯通相关知识点,并从实战场景中思考问题的最优解。

5.其他并发模型

并发问题是一个通用问题,Java语言解决并发问题采用的是共享内存模型,但这个模型并不是解决并发问题唯一的模型。这个模块将会介绍共享内存模型之外的模型,主要有Actor模型、软件事务内存、协程和CSP模型。

 

Java并发编程实战专栏详细目录

1)可见性、原子性和有序性问题:并发编程Bug的源头

2)Java内存模型:看Java如何解决可见性和有序性问题

3)互斥锁(上):解决原子性问题

4)互斥锁(下):如何用一把锁保护多个资源?

5)一不小心就死锁了,怎么办?

6)用“等待-通知“机制优化循环等待

7)安全性、活跃性以及性能问题

8)管程:并发编程的万能钥匙

9)Java线程(上):Java线程的生命周期

10)Java线程(中):创建多少线程才是合适的?

11)Java线程(下):为什么局部变量是线程安全的?

12)如何用面向对象思想写好并发程序?

13)理论基础模块热点问题答疑

14)Lock和Conditiion(上):隐藏在并发中的管程

15)Lock和Ccondition(下):Dubbo如何用管程实现异步转同步?

16)Semaphore:如何快速实现一个限流器?

17)ReadWriteLock:如何快速实现一个完备的缓存?

18)StampedLock:有没有比读写锁更快的锁?

19)CountDownLatch和CyclicBarrier:如何让多线程步调一致?

20)并发容器:都有哪些坑需要我们填?

21)原子类:无锁工具类的典范

22)Executor与线程池:如何创建正确的线程池?

23)Future:如何用多线程实现最优的“烧水泡茶”程序?

24)CompletetableFuture:异步编程没那么难

25)CompletionService:如何批量执行异步任务?

26)Fork/Join:单机版的MapReduce

27)并发工具类模块热点问题答疑

28)Immutability模式:如何利用不变性解决并发问题?

29)Copy-on-Write:不是延时策略的COW

30)线程本地存储模式:没有共享,就没有伤害

31)Guarded Suspension模式:等待唤醒机制的规范实现

32)Balking模式:再谈线程安全的单例模式

33)Thread-Per-Message模式:最简单实用的分工方法

34)Worker Thread模式:如何避免重复创建线程?

35)两阶段终止模式:如何优雅地终止线程?

36)生产者-消费者模式:用流水线思想提高效率

37)设计模式模块热点问题答疑

38)案例分析(一):高性能限流器Guava RateLimiter

39)案例分析(二):高性能网络应用框架Netty

40)案例分析(三):高性能队列Disruptor

41)案例分析(四):高性能数据库连接池HiKariCP

42)Actor模型:面向对象原生的并发模型

43)软件事务内存:借鉴数据库的并发经验

44)协程:更轻量级的线程

45)CSP模型:Golang的主力队员

 

Java并发编程实战适合学习人群:

适合有Java基础需要进阶的人学习

 

更多极客时间学习专栏:

iOS开发高手课程-戴铭

猿人学banner宣传图

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***

说点什么吧...