第2章 Java并发机制的底层实现原理

时间:2019-02-11
本文章向大家介绍第2章 Java并发机制的底层实现原理,主要包括第2章 Java并发机制的底层实现原理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

2.1 volatile的应用
volatile相比于synchronized的特点是什么?

2.1.1 volatile的定义于实现原理
1、java语言规范第3版种对volatile的定义是什么?
2、volatile具体的两条实现原则是什么?

2.1.2 volatile的使用优化(以后再看)

2.2 synchronize的实现原理与应用
1、先来看下利用synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现为哪3种形式?
2、synchronize的JVM实现原理是什么?(P26下部分)

2.2.1 Java对象头
1、synchronized用的锁是存在哪里的?
2、Java对象头里的内存结构是什么??

2.2.2 锁的升级与对比
1、Java SE 1.6为了减少获得锁和释放锁带来的性能消耗,引入了哪两种锁?
2、Java SE 1.6中,锁一共有4种状态,级别从低到高依次是?

2.2.2.1 偏向锁
1、偏向锁的获得和撤销具体流程是什么?
2、关闭偏向锁

2.2.2.2 轻量级锁
1、轻量级加锁和解锁的流程是什么?
2、轻量级锁的膨胀流程是什么?

2.2.2.3 锁的优点缺点对比
1、偏向锁,轻量级锁,重量级锁的优缺点?

2.3 原子操作的实现原理
2.3.1 术语定义(了解)
2.3.2 处理器如何实现原子操作(了解)
2.3.3. java如何实现原子操作
(1)使用循环CAS实现原子操作
(2)使用CAS操作的3大问题是什么?
(3)使用锁