在过去的时间中,我写过Java多线程与并发的整个系列。
为了方便大家的阅读,也为了让知识更系统化,这里我单独把Java多线程与并发的整个系列一并罗列于此,希望对有用的人有用,也希望能帮助到更多的人。
以下为整个目录,希望大家喜欢!
Java多线程系列(一):一分钟了解Java并发编程的核心技能
这一篇文章呢,我认为比较重要,学习任何一个东西,首先你得学会建立完整的技能框架,建立好了框架才开始学习,这样事半功倍。
主要讲了Java多线程与并发相关涉及的整体技能框架,包含如下五大点:
- 多线程需要学习哪些技能
- 线程池涉及的技术
- 线程锁需要掌握的技术
- 并发工具类需要掌握的技术
- 并发容器需要掌握的技术
Java多线程系列(二):线程的五大状态,以及线程之间的通信与协作
主要讲了Java线程相关的4点:
- 多线程的基本概念
- 线程的生命周期
- 线程的调度策略
- 线程之间的通信与协作
Java多线程系列(三):Java线程池的使用方式,核心运行原理、以及注意事项
这篇我主要谈到Java线程池相关的4点:
- 为什么需要线程池
- 线程池的处理流程
- 线程池相关的核心参数
- 线程池使用的注意事项
Java多线程系列(四):4种常用Java线程锁的特点,性能比较、使用场景
主要讲了Java 4大常用的线程锁,整体包含如下4点:
- 多线程的缘由
- 多线程并发面临的问题
- 4种Java线程锁(线程同步):synchronized、ReentrantLock等
- Java线程锁总结
Java多线程系列(五) :线程池的架构实现、大小配置、以及四种线程池使用
完整的讲解了Java 线程池的6大方面:
- 为什么需要线程池
- 线程池的优点
- 线程池的风险
- 线程池的实现原理
- 配置线程池大小配置
- Java提供的四种线程池实现
Java多线程系列(六) :详解Java多线程之Synchronized的底层实现
Synchronized经常是面试必考的了,需要重点掌握,这篇主要讲了以下五点:
- Synchronized介绍
- Synchronized的使用
- Synchronized的底层实现原理
- Synchronized的锁升级顺序
- 偏向锁、轻量级锁、重量级锁的优劣势比较
Java多线程系列(七) :并发容器的原理,7大并发容器详解、及使用场景
并容器也经常是面试必考的,这篇主要讲了以下四大点:
- 什么是同步容器
- 什么是并发容器
- 常见的7大并容器介绍:concurrenthashmap copyonwritearraylist等
- ConcurrentHashMap的底层实现机制
Java多线程系列(八) :深入探讨ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
concurrenthashmap面试必考了,这篇重点详解了:
- 哈希表以及应用场景
- ConcurrentHashMap与HashMap等的区别
- JDK1.7版本的CurrentHashMap的实现原理
- JDK1.8版本的CurrentHashMap的实现原理
Java多线程系列(九) :4大并发工具类的功能、原理、以及应用场景
主要讲了四大Java常用的并发工具类:
- CountDownLatch
- CyclicBarrier
- Semaphore
- Exchanger
Java多线程系列(十) :全面剖析Java并发编程之AQS的核心实现
AQS在整个Java并发编程的重要性是非常高的,需要重点掌握,本篇详解了以下四大点:
- AQS的介绍
- AQS的数据模型
- AQS的资源共享方式
- AQS的锁获取与释放原理
Java多线程系列(十一) :ReentrantReadWriteLock的实现原理与锁获取
ReentrantReadWriteLock读写锁,主要讲了以下几点:
- ReentrantReadWriteLock简介
- ReentrantReadWriteLock特性
- ReentrantReadWriteLock的主要成员和结构图
- ReentrantReadWriteLock的核心实现
- ReentrantReadWriteLock的锁获取与释放
顺便说一下,由于Java多线程与并发涉及的内容还是非常广。
因此对于本文,今后有新的内容,我会在对这个系列进行整理补充和更改。
END