博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java多线程和并发(八),synchronized底层原理
阅读量:4952 次
发布时间:2019-06-11

本文共 490 字,大约阅读时间需要 1 分钟。

目录

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.偏向锁,轻量级锁,重量级锁联系

 

 

转载于:https://www.cnblogs.com/xzmxddx/p/10362846.html

你可能感兴趣的文章
《刑法》关于拐卖妇女儿童犯罪的规定
查看>>
Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换...
查看>>
alias重启后失效了
查看>>
RestTemplate的Object与Entity的区别
查看>>
Fireworks基本使用
查看>>
《代码整洁之道》学习记录
查看>>
C++深入理解虚函数
查看>>
c#线程学习笔记一---基本概念
查看>>
2018-4-13
查看>>
两台电脑间的消息传输
查看>>
Linux 标准 I/O 库
查看>>
Spring Data JPA教程, 第八部分:Adding Functionality to a Repository (未翻译)
查看>>
教练技术的小应用
查看>>
.net Tuple特性
查看>>
Java基础常见英语词汇
查看>>
iOS并发编程笔记【转】
查看>>
泛型 T的定义<1>
查看>>
thinkphp dispaly和fetch的区别
查看>>
08号团队-团队任务5:项目总结会
查看>>
mybatis 插入数据 在没有commit时 获取主键id
查看>>