Java锁优化
1. 同步的原理
JVM规范规定JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步是使用另外一种方式实现的,细节在JVM规范里并没有详细说明,但是方法的同步同样可以使用这两个指令来实现。monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结束处和异常处, JVM要保证每个monitorenter必须有对应的monitorexit与之配对。任何对象都有一个 monitor 与之关联,当且一个monitor 被持有后,它将处于锁定状态。线程执行到 monitorenter 指令时,将会尝试获取对象所对应的 monitor 的所有权,即尝试获得对象的锁。
2. Java对象头
锁存在Java对象头里。如果对象是数组类型,则虚拟机用3个Word(字宽)存储对象头,如果对象是非数组类型,则用2字宽存储对象头。在32位虚拟机中,一字宽等于四字节,即32bit。
长度 内容 说明
32/64bit Mark Word 存储对象的hashCode或锁信息等
32/64bit Class Metadata Address 存储到对象类型数据的指针
32/64bit Array length 数组的长度(如果当前对
您可能关注的文档
- 2016山西省考言语理解选读.doc
- 2016山东省泰安一中5月份模拟试题(理综化学)带解析选读.doc
- 2016商学系毕业论文写作注意事项选读.doc
- 2016上海初三一模化学杨浦区试卷及答案选读.doc
- 2016上科教版七年级下信息技术教案第3单元诗词集锦教案选读.doc
- 2016施工现场九个常用质量制度选读.doc
- 2016生物中考模拟试题(带答案)选读.doc
- 2016实用现场急救技术答案最新最全选读.doc
- 2016市政园林安全生产题库模拟习题1选读.doc
- 2016事业单位综合基础知识试题与答案三选读.doc
- 面向“主客观协同”的认知型智能体架构白皮书(Concept Whitepaper v1.0).docx
- 南通市海门区实验初级中学2026年九年级提前自主招生模拟试卷数学试题卷a卷.docx
- 西北工业大学附属中学2026届高三下学期第十一次适应性训练数学试卷.docx
- DB11!T+3050-2026突发职业中毒事件调查技术规范.pdf
- 《法律与生活》典型主观题20道.docx
- 高中数学核心解法与思维大典(字体嵌入版)---简化版带封面 .pdf
- 修改后的论文(哲学理论型期刊风格)一种分层自感—反射—抽象更新的认知计算模型.docx
- 计算机学院复试细则.docx
- 2026作文·功勋素材与十大母题.docx
- 2026最后十课—水文(重整版).pdf
最近下载
- 医美行业商业计划书.pptx VIP
- 2020款广汽合创HYCAN 007_新能源电动汽车使用手册用户操作图示驾驶指南车主车辆说明书电子版.pdf
- 2024年全国中学生数学奥林匹克竞赛广西赛区选拔赛试题(含解析).docx VIP
- Goodwe固德威储能系统GW125 261-ESA-LCN-G10用户手册.pdf
- 疆农业发展概况和各地种植结构分布.pdf VIP
- 给排水国标图集-02S404:防水套管.pdf VIP
- IPC-1602A_2024 印制板搬运和储存标准Standard for Printed Board Handling and Storage.pdf VIP
- ASTM B117-19_操作盐雾装置的标准实施规程.pdf VIP
- 学术英语(综合) 季佩英 课后答案.pdf VIP
- 2025年河南工业和信息化职业学院单招职业技能考试题库带答案.docx VIP
原创力文档

文档评论(0)