Java并发
文章平均质量分 96
Java并发编程相关
pren2016
现任携程旅行网“资深移动开发工程师”,5年Android开发经验
展开
-
【Java进阶笔记】java并发(进程、线程、协程)
文章目录1. 基本概念1.1. 进程与线程1.1.1. 二者概念1.1.2. 二者区别1.2. 并行与并发2. 线程2.1. 线程运行的原理2.1.1. 栈与栈帧2.1.2. 线程上下文切换2.2. 创建线程2.2.1. 直接创建 Thread2.2.2. 结合 Runnable2.2.3. 结合 FutureTask2.3. 常见方法2.3.1. start() 与 run()2.3.2. sleep() 与 yield()2.3.3. join()2.3.4. interrupt()2.4. 终止线程-原创 2021-03-06 23:07:47 · 195 阅读 · 0 评论 -
【Java进阶笔记】Java内存模型(内存一致性、volatile原理)
文章目录1. 硬件内存模型1.1. 数据加载1.1.1. 处理流程1.1.2. 缓存行1.2. 执行流程2. Java 内存模型2.1. 内存划分2.1.1. 内存模型2.1.2. 模型类比2.2. 主内存与工作内存之间的交互操作2.2.1. 个交互协议2.2.2. 个基本规则2.3. 一致性2.3.1. 原子性2.3.2. 可见性2.3.3. 有序性2.4. 有序性原则2.4.1. happens-Before 原则2.4.2. as-if-serial 语义3. volatile 关键字3.1. 总线嗅原创 2021-03-06 23:10:14 · 404 阅读 · 0 评论 -
【Java进阶笔记】synchronized原理(悲观锁和乐观锁)
文章目录1. 悲观锁(阻塞)1.1. 临界区与竞态条件1.1.1. 临界区1.1.2. 竞态条件1.1.3. 原子性1.2. synchronized 概念1.2.1. synchronized 修饰方法1.2.2. 变量的线程安全分析1.2.3. 常见的线程安全类1.3. Monitor(管程)1.3.1. Java 对象头1.3.2. Monitor1.4. synchronized 原理1.4.1. 轻量级锁1.4.2. 重量级锁1.4.3. 偏向锁1.4.4. 自旋优化1.4.5. 同步消除1.5.原创 2021-03-06 23:11:17 · 430 阅读 · 0 评论 -
【Java进阶笔记】线程池(类比银行业务来理解)
文章目录1. Java 线程池1.1. 线程池的特点1.2. Java 中的线程池类1.3. 线程池的最佳容量2. ThreadPoolExecutor2.1. 线程池状态2.2. 基本原理2.2.1. 构造方法2.2.2. 组成部分2.2.3. 工作流程2.3. 拒绝策略2.3.1. JDK 的4种策略2.3.2. 其他策略2.4. Executors 工厂2.4.1. newFixedThreadPool()2.4.2. newCachedThreadPool()2.4.3. newSingleThre原创 2021-03-08 13:57:27 · 329 阅读 · 0 评论 -
【Java进阶笔记】ThreadLocal
文章目录1. ThreadLocal1.1. 作用1.2. 使用场景1.3. 示例代码2. ThreadLocal 原理解析2.1. 内部设计2.1.1. 早期方案2.1.2. JAVA 8 方案2.2. ThreadLocal 核心方法源码2.2.1. set 方法2.2.2. get 方法2.2.3. remove方法3. ThreadLocalMap 源码分析3.1. ThreadLocalMap 类的基本结构3.1.1. 成员变量3.1.2. 存储元素3.2. ThreadLocal 内存泄漏3.2原创 2021-03-08 13:57:49 · 370 阅读 · 2 评论