自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LuckyToMeet-Dian叶

望每个有追求的程序猿一起进步~

  • 博客(7)
  • 收藏
  • 关注

原创 面试准备--原子类 LongAdder 详解

前面介绍了 AtomicInteger 后,就没有继续介绍 AtomicLong,因为这两个类基本是类似的,懂了第一个那第二个就不在话下了。根据前面学习过 AtomicInteger 代码,我们可以知道类内部有一个变量 value 专门保存当前得值。然后在增加或减少指定数值时,会不断 CAS 直到成功。那这样的话,value 作为一个热点值,会被频繁的修改。如果并发量低的情况下,CAS 失败的...

2019-04-24 19:32:37 324

原创 面试准备-- ABA问题解决方案

上一篇文章我们介绍了原子类 AtomicInteger 我们知道了该类留下的一个逻辑漏洞–ABA 问题。AtomicStampedReference/AtomicMarkableReference

2019-04-23 16:43:48 496

原创 面试准备--原子类 AtomicInteger 详解

原子类也是 java 并发编程学习中不可或缺的一个部分了。很久没有看原子类的源码代码了,今天翻开原子类源码看一下。Compare-and-Swap我们知道,CAS 操作涉及到操作系统本地的调用(简称:平台相关),也就是我们点进代码上有个 native 关键字修饰的方法。下面,我们自己来实现一个简单的 CAS 方法。/** * @author Gentle * @date 2019/04...

2019-04-21 15:59:51 673

原创 面试准备--线程池队列 PriorityBlockingQueue 详解

最后一个线程池的阻塞队列了,写完这个线程池篇应该算是结束了。PriorityBlockingQueue 队列是 JDK1.5 的时候出来的一个阻塞队列。

2019-04-15 22:15:14 2295

原创 面试准备--线程池队列 SynchronousQueue 详解

今天介绍另一个线程池的阻塞队列–SynchronousQueue。该队列是在 jdk1.5 的时候出现,和前面写的 LinkedBlockingQueue 和 ArrayBlockingQueue 队列相比,SynchronousQueue 没有数据缓存的空间。我们先来看看类图:SynchronousQueue 特点:没有缓存数据,SynchronousQueue 队列中没有任何缓存的数...

2019-04-14 14:26:30 4440 1

原创 面试准备--线程池队列 ArrayBlockingQueue 详解

前面介绍已经介绍了线程池的三种队列了,剩下要学习的队列已经没多少了,今天我们继续来学习一下另一个队列 ArrayBlockingQueue ,这个队列很简单,下面我们来看一下类图。我们先来知道 ArrayBlockingQueue 是 BlockingQueue 的实现类,那我们需要先看看 BlockingQueue 提供了哪些方法。public interface BlockingQue...

2019-04-12 15:20:40 1089

原创 面试准备 -- 线程池队列LinkedTransferQueue详解

今天解析的这个队列可能比之前学习的队列都要难,知识点涉及到锁自旋,源代码中出现 CAS 操作也会较难理解。老样子,我们先看看类相关结构:看到 BlockingQueue,条件反射下大致知道有哪些方法了。这里接不过多的介绍了,我们来看看 TransferQueue 接口提供了哪些方法://该方法放入元素后,一定要被消费者消费后,线程才释放,否则会一直堵塞void transfer(E e)...

2019-04-04 20:15:38 558

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除