美文网首页码出未来互联网科技老男孩的成长之路
并发知识体系大全:贡献一波我平时学习路线/总结笔记/思维脑图+多

并发知识体系大全:贡献一波我平时学习路线/总结笔记/思维脑图+多

作者: 老男孩_Misaya | 来源:发表于2020-08-10 22:20 被阅读0次

    这个世界都是并发的,编程里更是这样,俗话说:并发知识大,一口吃不下。想成为一名优秀的 Java 开发,学好并发,绝对是你走入高薪行列的必备能力之一。

    并发涉及的知识点,其实十分琐碎。学完记不住,记住了用不对。在并发底层原理中,不仅涉及 Java 语言,更涉及 JVM、操作系统、内存、CPU 指令等,令人一头雾水。

    这份笔记+学习脑图可以帮你系统地学习Java 并发编程知识,并告别碎片化获取知识的弊端。

    帮你建立起知识脉络。让每一个工具类,成为你并发知识体系中的一块块“拼图”。在这里我将这份笔记进行一个开源形式的分享,大体内容有这些:

    线程

    • 线程的启动
    • 实现Runnab1e接口
    • 继承Thread类
    • 实现Callable接口
    • 线程的状态
    • 线程的方法
    • 线程的优先级
    • 守护线程
    • 未捕获异常处理器

    并发编程的问题

    • 线程引入开销:上下文切换与内存同步
    • 线程安全性(原子性+可见性)
    • 死锁

    线程间通信/线程同步 工具使用

    • synchronized
    • Lock
    • volatile
    • Atomic

    Lock使用 深入

    • 可重入锁 ReentrantLock
    • Condition与wait&notify区别
    • await&signal
    • 公平锁
    • 读写锁 ReentrantReadWriteLock
    • LockSupport(锁住的是线程,synchronized锁住的是对象)
    • synchronized与Lock的区别
    • 原子操作类使用

    Java内存模型 线程同步工具原理

    • JMM抽象结构
    • 指令重排序
    • 内存屏障
    • happens-before(抽象概念,基于内存屏障)
    • 顺序一致性
    • volatile原理
    • synchronized原理
    • 原子操作原理
    • 锁的比较
    • 锁的优化
    • 锁的分类
    • 偏向锁(只有一个线程进入临界区)
    • 轻量级锁(多个线程交替进入临界区)
    • 重量级锁(多个线程同时进入临界区)
    • CPU如何实现原子操作
    • Java如何实现原子操作
    • CAS在OpenJDK中的实现

    同步容器

    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • BlockingQueue
    • ThreadLocal

    同步工具使用

    • Semaphore (信号量)
    • Cycli eBarrier (可循环使用的屏障/栅栏)
    • Exchanger (两个线程交换数据)
    • CountDownLatch (闭锁)
    • FutureTask (Future实现类)
    • 将批量同步操作转为异步操作(并行流/CompletableFuture)
    • 多个异步任务合并
    • API

    线程池使用

    • 引入原因
    • 继承体系
    • ExecutorService
    • ScheduledExecutorService
    • ThreadPoolExecutor
    • 创建线程池
    • 线程动态变化
    • 扩展ThreadPoolExecutor
    • ScheduledThreadPoolExecutor
    • Executors
    • CompletionService

    J.U.C 源码解析

    • AQS的接口
    • AQS使用实例(互斥锁,tryAcquire只需一次CAS)
    • AQS实现
    • 同步队列
    • 独占式同步状态
    • 共享式同步状态
    • 独占式超时获取同步状态
    • ReentrantLock公平锁
    • ReentrantReadWriteLock
    • 读写状态的设计
    • 写锁的获取与释放
    • 读锁的获取与释放(放弃)
    • 锁降级
    • LockSupport
    • Condition
    • 等待队列
    • AtomicInteger
    • ThreadPoolExeuctor
    • 状态转换
    • 成员变量
    • 构造方法
    • 执行任务

    并发体系思维导图

    Java内存模型(JMM)

    • 线程通信机制
    • 内存模型
    • synchronized
    • volatile
    • DCL

    并发基础

    • AQS
    • CAS

    • ReentrantLock
    • ReentrantReadWriteLock
    • Condition

    **并发工具类

    • CyclicBarrier
    • CountDownLatch
    • Semaphore
    • Exchanger

    其他

    • ThreadLocal
    • Fork/Join

    Java并发集合

    • ConcurrentHashMap
    • ConcurrentLinkedQueue
    • Concurr entSkipListMap
    • ConcurrentSkipListSet

    atomic

    • 基本类型类
    • 数组
    • 引用类型
    • 字段类

    阻塞队列

    • ArrayBlockingQueue
    • LinkedBlockingQueue
    • PriorityBlockingQueue
    • DelayQueue
    • SynchronousQueue
    • LinkedTransferQueue
    • LinkedBlockingDeque

    线程池

    • Executor
    • Future

    很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。

    我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。

    不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下

    快速入手通道:(点这里)下载!诚意满满!!!

    Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi

    整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

    你的支持,我的动力;祝各位前程似锦,offer不断!!!

    相关文章

      网友评论

        本文标题:并发知识体系大全:贡献一波我平时学习路线/总结笔记/思维脑图+多

        本文链接:https://www.haomeiwen.com/subject/fpegrktx.html