Java多线程和并发,synchronized底层原理
Posted 寻找梦想的大熊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程和并发,synchronized底层原理相关的知识,希望对你有一定的参考价值。
目录
1.对象头(Mark Word)
2.对象自带的锁(Monitor)
3.自旋锁和自适应自旋锁
4.偏向锁
5.轻量级锁
6.偏向锁,轻量级锁,重量级锁联系
八、synchronized底层原理
1.对象头(Mark Word)
2.对象自带的锁(Monitor)
(1)javap反编译查看原理同步代码块
public class SyncBlockAndMethod { public void syncsTask() { synchronized (this) { System.out.println("Hello"); } } }
(2)重入
(3)同步方法
public synchronized void syncTask() { System.out.println("Hello Again"); }
3.自旋锁和自适应自旋锁
4.偏向锁
5.轻量级锁
6.偏向锁,轻量级锁,重量级锁联系
以上是关于Java多线程和并发,synchronized底层原理的主要内容,如果未能解决你的问题,请参考以下文章
Java多线程编程-(11)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力