Sync底层字节码 monitorEnter和monitorExit 对象监视器

目录

命令

同步代码块

[enter 与 exit](#enter 与 exit)

[这边是 1:2](#这边是 1:2)

如果抛出异常

同步方法

字节码

同步静态方法

字节码

为什么任何一个对象都能成为一个锁


命令

同步代码块

enter 与 exit

这边是 1:2

正常完成会解锁

保证异常 over 也会解锁

如果抛出异常

那么只有一个 enter 和 exit

同步方法

字节码

有一个标识

同步静态方法

字节码

跟同步方法相比多了一个静态的标识

为什么任何一个对象都能成为一个锁

Object 类是 Java 所有类的父类

java=c++--

每一个对象都有一个对象监视器

ObjectMonitor 中有几个关键属性

相关推荐
huohaiyu34 分钟前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
信奥卷王2 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
心勤则明2 小时前
Spring AI 会话记忆实战:从内存存储到 MySQL + Redis 双层缓存架构
人工智能·spring·缓存
木子杳衫2 小时前
【软件开发】管理类系统
python·web开发
小咕聊编程2 小时前
【含文档+源码】基于SpringBoot的过滤协同算法之网上服装商城设计与实现
java·spring boot·后端
Zz_waiting.2 小时前
Spring 原理
java·spring·spring自动管理
程序员小远5 小时前
银行测试:第三方支付平台业务流,功能/性能/安全测试方法
自动化测试·软件测试·python·功能测试·测试工具·性能测试·安全性测试
Predestination王瀞潞5 小时前
IO操作(Num22)
开发语言·c++
瓯雅爱分享6 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
宋恩淇要努力6 小时前
C++继承
开发语言·c++