![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
原子类系列
tangtong1
这个作者很懒,什么都没留下…
展开
-
死磕 java魔法类之Unsafe解析
问题(1)Unsafe是什么?(2)Unsafe只有CAS的功能吗?(3)Unsafe为什么是不安全的?(4)怎么使用Unsafe?简介本章是java并发包专题的第一章,但是第一篇写的却不是java并发包中类,而是java中的魔法类sun.misc.Unsafe。Unsafe为我们提供了访问底层的机制,这种机制仅供java核心类库使用,而不应该被普通用户使用。但是,为了更好地了解j...原创 2019-05-06 01:01:25 · 259 阅读 · 0 评论 -
死磕 java原子类之终结篇(面试题)
概览原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换。原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分,将整个操作视作一个整体是原子性的核心特征。在java中提供了很多原子类,笔者在此主要把这些原子类分成四大类。原子更新基本类型或引用类型如果是基本类型,则替换其值,如果是引...原创 2019-05-13 23:35:12 · 208 阅读 · 0 评论 -
死磕 java并发包之AtomicInteger源码分析
问题(1)什么是原子操作?(2)原子操作和数据库的ACID有啥关系?(3)AtomicInteger是怎么实现原子操作的?(4)AtomicInteger是有什么缺点?简介AtomicInteger是java并发包下面提供的原子类,主要操作的是int类型的整型,通过调用底层Unsafe的CAS等方法实现原子操作。还记得Unsafe吗?点击链接直达【死磕 java魔法类之Unsafe解...原创 2019-05-07 00:21:23 · 217 阅读 · 0 评论 -
死磕 java并发包之AtomicStampedReference源码分析(ABA问题详解)
问题(1)什么是ABA?(2)ABA的危害?(3)ABA的解决方法?(4)AtomicStampedReference是什么?(5)AtomicStampedReference是怎么解决ABA的?简介AtomicStampedReference是java并发包下提供的一个原子类,它能解决其它原子类无法解决的ABA问题。ABAABA问题发生在多线程环境中,当某线程连续读取同一块内存...原创 2019-05-09 21:33:17 · 285 阅读 · 0 评论 -
死磕 java并发包之LongAdder源码分析
问题(1)java8中为什么要新增LongAdder?(2)LongAdder的实现方式?(3)LongAdder与AtomicLong的对比?简介LongAdder是java8中新增的原子类,在多线程环境中,它比AtomicLong性能要高出不少,特别是写多的场景。它是怎么实现的呢?让我们一起来学习吧。原理LongAdder的原理是,在最初无竞争时,只更新base的值,当有多线程...原创 2019-05-13 00:04:50 · 208 阅读 · 1 评论