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多线程

并发编程 Java并发机制的底层实现原理

Java并发机制synchronized底层原理源码分析

多线程的实现原理

synchronized原理是啥?

Java多线程编程-(11)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力