首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
IncludeNew
掘友等级
资深搬砖工程师
|
MGJ
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
18
文章 18
沸点 0
赞
18
返回
|
搜索文章
赞
文章( 18 )
沸点( 0 )
JUC解析-LongAdder
在JDK1.8的atomic中增加了一个原子操作类LongAddr,与AtomicLong相比,在效率方面有了不小的提升。 初始化一个volatile long base和一个int [] cell的数组,数组中的元素都初始化为0。 当线程进行原子操作的时候,优先对base变量…
JUC解析-ReentrantLock
AQS在JUC中存在两种常用的锁实现ReentrantLock和ReentrantReadWriteLock。 ReentrantLock是互斥锁的实现,其中包括公平锁和非公平锁两种模式。 ReentrantReadWriteLock是读写锁的实现,其中包括读锁和写锁两种锁。 …
JUC解析-ReadWriteLock
在JUC中ReentrantReadWriteLock是基于AQS实现的读写锁实现。 在ReentrantLock中,线程之间的同步都是互斥的,不管是读操作还是写操作,但是在一些场景中读操作是可以并行进行的,只有写操作才是互斥的,这种情况虽然也可以使用ReentrantLock…
JUC解析-AQS(2)
在上一篇AQS的文章中,主要介绍了资源同步的原理以及设计原则,在这里我们考虑另外一个比较重要的概念Condition。 例如我们比较熟悉的生产者消费者问题就可以利用信号的机制来解决,当消费者所需资源不足的时候,可以等待在信号中,当生产者产生了新的资源,即可以通过信号唤醒消费者,…
JUC解析-AQS(1)
其实关于AQS的解析,在google上有很多的分析文章,既有侧重源码分析的,也有侧重原理的,在这里我想从一个其他的角度来试着分析下这个概念。 独占模式:资源是独占的,一次只能一个线程获取。 共享模式:同时可以被多个线程获取,具体的资源的个数可以通过参数指定。 定义一个变量int…
JUC解析-原子操作
JUC是java.util.concurrent包的简称,主要包含了jdk中多线程相关的技术,例如锁、信号、线程安全的容器、线程池等,本节内容为JUC的基础-原子操作. 在多线程中,指令的执行在很多情况下会被打断,导致结果的不确定性,例如中断、线程的抢断以及多核SMP系统中程序…
JUC解析-synchronized
前面主要讲了基于简单的基本类型的原子操作,对于一些复杂的操作就需要用锁来实现互斥,在JUC中定义了一套锁的实现框架,但是在学习前,感觉有必要先回顾了java中自带的锁synchronized。 确保线程互斥的访问同步代码(互斥性)。 保证共享变量的修改能够及时可见(可见性)。 …
JUC解析-Atomic
AtomicStampedReference等为了解决CAS中的ABA问题而引入的类的原子操作,在这里可以简单的当做一个寻常类看待。 介绍:Unsafe是用于在实质上扩展Java语言表达能力、便于在更高层(Java层)代码里实现原本要在更低层(C层)实现的核心库功能用的。这些功…
团队开发 Git 分支管理策略
git 运用于开发中的代码管理,它的分支强大,却有很多人滥用。本文很好的总结了 git 分支的管理策略。可以适用于工程中。
下一页
个人成就
文章被点赞
31
文章被阅读
8,179
掘力值
248
关注了
2
关注者
14
收藏集
2
关注标签
61
加入于
2016-10-09