您现在的位置是:课程教程文章
java中对象头的用法
2023-12-15 21:14课程教程文章 人已围观
-
JavaBean入门教程(JavaWeb)
JavaBean入门教程(JavaWeb)讲解JavaBean的语法知识和实战,同时附录配备环境和工具安装 1、JDK的安装和环... -
【严选课程】Java互联网架构师系统进阶课
【严选课程】Java互联网架构师系统进阶课注:如果是苹果系统,请 不要 充值课点支付!! 有疑问请添加米乐老师QQ:14... -
新版中高级考试辅导
新版中高级考试辅导【适合对象】 1. 具有TOPIK3级以上水平的学员; 2. 接触过中高级内容,感觉掌握... -
2019JAVA设计模式精讲【千锋大数据】
2019JAVA设计模式精讲【千锋大数据】获取视频资料源码,请添加官方指定qq:2377443170 设计模式(Design pattern)代表了...
我们在进行锁的使用时,会把它放在对象头上。有些人不理解对象头的意思,其实我们可以把它看成是处理锁的一个工具,主要是负责对锁的功能进行使用。在使用synchronized锁的时候会有所涉及,所以接下来我们就对象头的概念、包含内容,以及对象头使用的实例为大家进行讲解。
1.对象头概念
Hotspot虚拟机的对象头主要包括两部分数据:Mark Word(标记字段)、Klass Pointer(类型指针)。其中Klass Point是是对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例,Mark Word用于存储对象自身的运行时数据,它是实现轻量级锁和偏向锁的关键,
2.对象头包含内容
主要包含了对象的基本信息,比如:
布局
GC状态
类型
同步状态
(identity) hash code
数组长度 (前提你得是数组)
3.对象头实例
class oopDesc { friend class VMStructs; private: volatile markOop _mark; union _metadata { wideKlassOop _klass; narrowOop _compressed_klass; } _metadata; }
上面代码中的_mark和_metadata其实就是对象头的定义。关于_metadata之前就介绍过,这里不再赘述。由于这个专题主要想介绍和JAVA并发相关的知识,所以本文展开介绍一下_mark,即mark word。
以上就是java中对象头的用法,掌握了对象头的基础用法后,才能对synchronized锁的处理有更好的运用。运行完实例后,相信大家对对象头的用法有了初步的认识。
课程教程:java中对象头的用法上一篇:js中使用filter去重
下一篇:没有了