Mark Word 在32位 JVM 中:

Mark Word 在64位 JVM 中:

  • 锁标志位(lock)
    区分锁状态,11时表示对象待GC回收状态, 只有最后2位锁标识(11)有效。

  • biased_lock
    是否偏向锁,由于无锁和偏向锁的锁标识都是 01,没办法区分,这里引入一位的偏向锁标识位。

  • 分代年龄(age)
    表示对象被GC的次数,当该次数到达阈值的时候,对象就会转移到老年代。

  • 对象的hashcode(hash)
    运行期间调用System.identityHashCode()来计算,延迟计算,并把结果赋值到这里。当对象加锁后,计算的结果31位不够表示,在偏向锁,轻量锁,重量锁,hashcode会被转移到Monitor中。

  • 偏向锁的线程ID(JavaThread):
    偏向模式的时候,当某个线程持有对象的时候,对象这里就会被置为该线程的ID。 在后面的操作中,就无需再进行尝试获取锁的动作。

  • epoch
    偏向锁在CAS锁操作过程中,偏向性标识,表示对象更偏向哪个锁。

  • ptr_to_lock_record
    轻量级锁状态下,指向栈中锁记录的指针。当锁获取是无竞争的时,JVM使用原子操作而不是OS互斥。这种技术称为轻量级锁定。在轻量级锁定的情况下,JVM通过CAS操作在对象的标题字中设置指向锁记录的指针。

  • ptr_to_heavyweight_monitor:重量级锁状态下,指向对象监视器Monitor的指针。如果两个不同的线程同时在同一个对象上竞争,则必须将轻量级锁定升级到Monitor以管理等待的线程。在重量级锁定的情况下,JVM在对象的ptr_to_heavyweight_monitor设置指向Monitor的指针。

Mark Word 详解相关推荐

  1. python读取word详解【from docx import Document】

    python读取word详解[from docx import Document] 目录 python读取word详解[from docx import Document] 前言 环境 示例字符串 下 ...

  2. c# 实现hello word 详解版

    c# 实现hello word 详解版 前言:超级适合真正零基础的人 工具:Visual Studio 2019 了解: .net/dotnet:一般指.Net Framework框架->一种平 ...

  3. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...

    在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 倒霉,2M的PDF12点也完不了啊! 很多时候在学习时发现许多文档都是PDF格式,PDF格式 ...

  4. .NET Core使用NPOI导出复杂Word详解

    最近使用NPOI做了个导出Word文档的功能,关于使用.NET Core 导出Word文档的方式有很多.最终我为什么选择了NPOI来实现了这个功能,首先是NPOI是一个开源,免费且容易上手的第三方框架 ...

  5. Python Pytest装饰器@pytest.mark.parametrize详解

    Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT 如:@pytest.mark.parametrize('请求方式,接口地 ...

  6. Pytest跳过执行之@pytest.mark.skip()详解大全

    一.skip介绍及运用 在我们自动化测试过程中,经常会遇到功能阻塞.功能未实现.环境等一系列外部因素问题导致的一些用例执行不了,这时我们就可以用到跳过skip用例,如果我们注释掉或删除掉,后面还要进行 ...

  7. vs2005操作word详解

    微软word用起来很是方便,可是要在mfc中导入word却没那么容易,经过几天的磕磕绊绊,终于算功夫不负有心人,下面是我做的一点总结. 1.首先要导入word库,在头文件中加入 #import &qu ...

  8. 【视觉定位UV】日志分析之Mark点详解

    00. 目录 文章目录 00. 目录 01. 定位第0个Mark点信息 02. 定位第1个Mark点信息 03. 定位第2个Mark点信息 04. 定位第3个Mark点信息 05. 缩放结果 06. ...

  9. lisp 焊接符号标注_焊接符号标注大全word详解

    焊接标注大全 焊接符号以标准图示的形式和缩写代码标示出一个焊接接头或钎焊接头完整的信息,如 接头的位置.如何制备和如何检测等.焊接符号完整的代码体系在美国焊接学会( AWS )最 新版本的<焊接 ...

最新文章

  1. BAT技术专家的4个考核点!
  2. HTML中Css详细介绍
  3. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)
  4. 让威胁管理跟上数据中心奔跑的速度
  5. flask页面操作gpn接口
  6. android相册幻灯片功能,Android实现幻灯片式图片浏览器
  7. 【2016年第6期】支持植物学大数据整合与公众服务的iFlora云平台建设
  8. GDC 2006 Microsoft Developer Day Presentations
  9. 做一个计算器_如何设计一个JavaScript插件系统,编程思维比死磕API更重要
  10. 家电智能化转型之下 长虹在挖什么“坑”?
  11. Ubuntu下安装SQLite、与简单介绍
  12. linux服务器网卡驱动安装,在linux下安装网卡驱动的方法
  13. photoshop快速去掉图片背景颜色(白色背景)
  14. excel转word_excel怎么转换成word格式手机?骨灰级方法确定不收藏吗?
  15. unity开发 宝箱掉落与产出
  16. Python函数和面向对象,小白看了都说好
  17. 从杉数到滴滴——未入门算法工程师工作日记(快手篇)
  18. 北大计算机系研究生宿舍地址,北京大学研究生宿舍
  19. 计算机学校排名中学,美国高中计算机专业名校:美高STEM排名TOP20
  20. 三星I9308手机secsetpwizard错误解决

热门文章

  1. HiveSQL一天一个小技巧:如何精准计算非连续日期累计值【闪电快车面试题】
  2. IOST 糖果领取领取步骤 笑来
  3. 通过iclutch、以及class-dump逆向出ios上app的类定义及头文件
  4. Bean 作用域和生命周期
  5. 一元多项式计算实验报告(相加,相减,相乘)
  6. [js] 事件对象 e.target offsetX clientX pageX
  7. golang-gin-优雅重启
  8. 安东尼.罗宾经典语录
  9. 微信小程序wx.showtoast真机一闪而过
  10. 编译原理——词法分析器实验