
jdk源码阅读
文章平均质量分 92
jackllvv
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java源码阅读之ArrayBlockingQueue
阻塞队列 (BlockingQueue)是Java util.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;从阻塞队列取数据时,如果队列已空,线程将会阻塞等待直到队列非空。并发包下很多高级同步类的实现都是基于BlockingQueue实现的。BlockingQ原创 2017-08-17 12:50:27 · 301 阅读 · 0 评论 -
java源码阅读之LinkedBlockingQueue
想写一篇LinkedBlockingQueue源码的分析,但实在是没时间。下面转载一遍我认为不错的源码解读。1、对于LinkedBlockingQueue需要掌握以下几点创建入队(添加元素)出队(删除元素)2、创建Node节点内部类与LinkedBlockingQueue的一些属性 static class Node { E转载 2017-08-17 20:02:10 · 245 阅读 · 0 评论 -
java源码阅读之ThreadPoolExecutor
最近在学习juc包下的类,看了一篇不错的博客,mark一下。学习ing......一、前言 JUC这部分还有线程池这一块没有分析,需要抓紧时间分析,下面开始ThreadPoolExecutor,其是线程池的基础,分析完了这个类会简化之后的分析,线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包转载 2017-08-18 14:22:47 · 312 阅读 · 0 评论 -
jdk8ConcurrentHashMap
并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,f转载 2017-08-26 16:35:19 · 314 阅读 · 0 评论 -
JUC之volatile
前言juc是java并发编程的核心,里面的类有很多设计思想以及编程的技巧值得我们借鉴,个人认为,一个优秀的java程序员必须熟练掌握juc.volatile简介volatile在java中是一个关键字,用于修饰类和实例变量它确保对一个变量的更新以可以预见的方式告知其他线程。当一个域声明为volatile类型后,编译器在运行时会监视这个变量:而且对它的操作不会与其他的内存操作一起被重排...原创 2019-04-17 17:14:52 · 251 阅读 · 0 评论 -
JUC之atomic
Atomic简介atomic包下原子操作类提供了一种用法简单、性能高效 、线程安全地更新一个变量的方式。atomic包下一共有12个相关的类,分为4组,分别用于原子更新基本类型,原子更新数组,原子更新引用,原子更新字段。使用原子更新基本类型AtomicBoolean AtomicInteger AtomicLong常用方法,以AtomicInteger为例int ge...原创 2019-04-17 17:17:40 · 384 阅读 · 0 评论 -
JUC之striped64
striped64简介striped64是java8用来并发计数新加的组件,在并发环境下有更好的性能,64指的是计数64bit的数,即Long类型的数和Double类型的数。striped64是个抽象类,jdk提供了四个实现类,LongAdder LongAccumulator DoubleAdder DoubleAccumulator 我们拿数据说话,分别在并发情况下用synchronize...原创 2019-04-17 17:19:12 · 657 阅读 · 0 评论 -
JUC之AbstractQueuedSynchronizer
AbstractQueuedSynchronizer从锁说起juc.locks包下提供了常见的锁相关的工具,用来替代synchronized关键字(jdk1.5之前synchronized效率较低)和加强一些锁功能,比如重入锁,公平非公平锁,读写锁等等。AbstractQueuedSynchronizer简称aqs是juc.locks包中锁相关的一个最核心的类,ReentrantLock等锁...原创 2019-05-21 14:57:10 · 367 阅读 · 0 评论 -
JUC之ReentrantLock
JUC之ReentrantLock引言承接上篇JUC之AbstractQueuedSynchronizer 我们分析一下最常用的锁 ReentrantLock,即可重入锁。上篇我们分析了aqs的acquire方法和release方法。接下来我们分析ReentrantLock是如何通过aqs实现锁的。Lock先看一下锁的定义。public interface Lock { /*...原创 2019-05-28 16:35:15 · 375 阅读 · 0 评论