【JUC剖析】专栏总集篇

Youzg LOGO


首先,在讲解所有内容之前,本人先来带同学们回顾下 线程 的知识:

进程和线程:

请观看本人博文 —— 《【JUC剖析】 线程 与 进程 重温》


讲到 并发,就不得不来讲讲
因为 解决并发主要手段

锁:

请观看本人博文 —— 《【JUC剖析】锁 彻底解析》


单线程的情况下,集合类只需要考虑效率问题
但是,在并发情况下,我们就不得不考虑 线程安全问题

因为,一般的 集合类 不安全

集合类 不安全:

请观看本人博文 —— 《【JUC剖析】并发 与 集合》


在JUC包中,有三个类十分重要,它们被称为 三大辅助类

三大 辅助类:

请观看本人博文 —— 《【JUC剖析】三大辅助类 详解》


在有些特定的情况下,我们不得不将当前线程阻塞
例如:

  • 存储信息的 队列满了写线程 就必须要阻塞
  • 存储信息的 队列为空读线程 就必须要 阻塞

这就需要使用到 阻塞队列 来解决上述的需求:

阻塞队列 —— BlockingQueue 接口:

请观看本人博文 —— 《【JUC剖析】阻塞队列 详解》


在本人之前的博文《详解 线程池》中曾讲到了 通过 Executors类 来创建线程池
那么,接下来,本人就来剖析下 Executors类 是如何 创建线程池的:

线程池:

请观看本人博文 —— 《【JUC剖析】 线程池 深度剖析》


在上文的学习中,见到过很多函数型接口

函数式接口:

请观看本人博文 —— 《【JUC剖析】 函数式接口 详解》


Stream流式计算:

请观看本人博文 —— 《详解 stream流式计算》


拆分与聚合 —— ForkJoin 框架:

请观看本人博文 —— 《【JUC剖析】 ForkJoin 探析》


在我们学习SpringBoot 以及 Ajax 的时候,都了解过一个十分强悍的机制 —— 异步回调
在JUC包下,也提供了封装异步回调功能的类:

异步回调 —— CompletableFuture类:

请观看本人博文 —— 《【JUC剖析】异步回调 与 CompletableFuture类 探析》


讲到并发问题,相信同学们记得的不止 synchronized这一个关键字
还有一个关键字非常重要 —— volatile关键字

JMM 与 volatile关键字:

请观看本人博文 —— 《【JUC剖析】 JMM 与 volatile关键字 详解》


说到volatile关键字,就不得不再来谈一下 单例模式

单例模式:

请观看本人博文 —— 《【JUC剖析】多线程 与 单例模式》


在上文中,我们能够看到:即使使用了 volatile关键字 ,还是因为没有原子性,出现了线程安全问题
为了 保证原子性,除了 使用 synchronized 与 Lock 外,还有什么方法呢?
答曰:Atomic类

CAS 与 Atomic类:

请观看本人博文 —— 《【JUC剖析】 CAS 与 Atomic类 详解》


那么,到此,JUC的全部内容就讲解完毕了!
框架的学习十分轻松,也因此很容易掌握
但是真正能让我们理解框架的每一个功能的基本实现步骤,还是得了解底层
希望本专栏能够让同学们有丰富的收获!

最后,祝大家学业有成,面向大厂和前沿技术编程!

posted @ 2020-08-06 23:06  在下右转,有何贵干  阅读(123)  评论(0编辑  收藏  举报