- 博客(2)
- 收藏
- 关注
原创 从Java的对象头与CAS操作到Java内建锁synchronized的底层实现(二)
在这一篇中我会介绍一下CAS操作。 什么是CAS:取得锁时每一次都会有竞争是一种最不好的情况,但事实往往并不需要我们每一次都竞争,其实不会每一次执行临界代码都会发生冲突,CAS是一种乐观锁的策略。他假设所有线程共享资源的时候都不会出现冲突,自然也就不会阻塞其他线程了。借助CAS比较交换来鉴别线程是否出相冲突,出现冲突就重试到没有冲突为止。 CAS 通俗理解是(V,O,N)代表三个...
2018-11-23 16:27:26 364
原创 从Java的对象头到Java内建锁synchronized的底层实现(一)
就如标题,今天我们的话题会从对象说起。我们知道对象在JVM的内存结构中,是存放在堆内存中的(new 一个类之后JVM会在堆上为new出的对象申请一块空间)。在内存中,一个Java对象包含三部分:对象头、实例数据和对齐填充。而对象头内存有的信息就有markwork,这是实现synchronized锁机制的核心。对象头到底是什么呢?是怎样通过对象头来实现synchronized锁机...
2018-11-23 08:39:30 1009
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人