
Java并发
CodeLikeWind
努力不会徒劳,伟大并非凑巧
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java并发】——并发容器(一)
目录 一、concurrentHashMap 1、concurrentHashMap概述 2、concurrentHashMap数据结构 3、put执行流程 4、get操作 5、ConcurrentHashMap 存取小结 二、jdk1.8中的ConcurrentHashMap 结构 1、put方法 三、总结 一、concurrentHashMap 1、concurrentH...原创 2018-08-09 10:27:02 · 2827 阅读 · 1 评论 -
【Java并发】——并发容器(二)
目录 一、CopyOnWriteArrayList 1、什么是CopyOnWrite容器 2、CopyOnWriteArrayList的实现原理 3、CopyOnWriteArrayList应用场景 4、CopyOnWrite的缺点 5、为什么具有弱一致性(了解) 二、ThreadLocal 三、BlockingQueue BlockingQueue的使用 四、Concurre...原创 2018-08-09 11:49:20 · 374 阅读 · 0 评论 -
【Java并发】——基础知识梳理(一)
目录 Java并发基础知识 1.并发编程的优缺点 1.1为什么要用到并发 1.2并发编程的缺点 1.3易混淆的概念 Java并发基础知识 1.并发编程的优缺点 1.1为什么要用到并发 充分利用多核CPU的运算能力 方便业务拆分 1.2并发编程的缺点 (1)频繁的切换上下文 时间片是CPU分配给各个线程的时间,因为时间非常短,所以CPU不断通过切换线程,让我们觉得多个线...原创 2018-08-05 11:09:09 · 556 阅读 · 0 评论 -
【Java并发】——并发理论(一)
JMM内存模型 一、那些是共享数据 1.实例域 Java对象中的数据,在类中声明。例如学生类中定义了一个学生ID,那么张三,李四是学生,他们分别有属于自己的ID 2.静态域 在Java中如果将域定义为static那么类中只有这样的一个静态域可以通过类名直接调用。例如学生类中定义了一个学校ID,张三,李四都是这个学校的学生,这两个实例他们共享学校ID。 3.数组 二、抽象结构 线程将...原创 2018-08-06 10:38:07 · 994 阅读 · 0 评论 -
【Java并发】——线程池
目录 Java并发——线程池 一、Java中的ThreadPoolExecutor类 二、线程池实现原理 1、线程池状态 2、任务的执行 3、线程池中的线程初始化 4、任务缓存队列及排队策略 5、任务拒绝策略 6、线程池的关闭 7、线程池容量的动态调整 Java并发——线程池 本文大量借鉴博客:https://www.cnblogs.com/dolphin0520/p/39...原创 2018-08-10 11:39:38 · 270 阅读 · 0 评论 -
【Java并发】——并发关键字(一)
目录 一、synchronized 1.如何使用 方法一:实例方法(锁的是实例对象) 方法二:静态方法(锁的是类对象) 方法三:同步代码块(代码块根据配置,锁的是实例对象也可以是类对象) 2.moniter机制 3.synchronized的happens-before关系 4.synchronized的内存语义 5.锁优化 5.1Java对象头 5.2 CAS操作 5.3...原创 2018-08-07 10:34:05 · 2644 阅读 · 0 评论 -
【Java并发】——并发关键字(二)
目录 二、volatile变量 1.实现原理 当一个变量定义为 volatile 之后,将具备两种特性 三、final关键字 1.如何使用 1.1 修饰变量 1.2 修饰方法 1.3 修饰类 2.final的重排序规则 2.1 final域为基本类型 2.2 final域为引用类型 3.final实现原理 4.final引用不能从构造函数中”溢出“(this逃逸) ...原创 2018-08-07 12:19:42 · 1030 阅读 · 0 评论 -
【Java并发】——lock体系(一)
目录 1.lock与synchronized的区别 1.1 lock补充 2.AQS同步器 (AbstractQueuedSynchronized) 2.1 设计意图 2.2 如何使用AQS实现自定义同步组件 2.3 可重写的方法 2.4 AQS提供的模板方法 3.AQS源码解析 3.1 AQS同步队列的数据结构 3.2 独占与共享 1.lock与synchronized的区...原创 2018-08-08 10:03:53 · 373 阅读 · 0 评论 -
【Java并发】——lock体系(二)
ReentrantLock(独占式锁) 1.重入锁的实现原理 表示能够对共享资源能够重复加锁,即当前线程获取该锁时再次获取不会被阻塞 核心方法:nonfairTryAcquire 2.公平锁的实现原理 加入hasQueuedPredecessors的逻辑判断,用来 判断当前节点在同步队列中是否有前驱节点的判断 3.非公平锁的实现原理 默认非公平锁 4.公平锁和非公平锁的比较 1....原创 2018-08-08 10:55:43 · 325 阅读 · 0 评论