当前位置: 首页 > news >正文

制作类网站手机网站域名和pc域名的区别

制作类网站,手机网站域名和pc域名的区别,威海好的网站建设公司哪家好,济南商城网站制作欢迎访问我的主页: https://heeheeaii.github.io/ 在Java虚拟机(JVM)中,一个对象在内存中的存储布局可以分为三个部分:对象头(Object Header)、实例数据(Instance Data)和对齐填充…

欢迎访问我的主页: https://heeheeaii.github.io/

在Java虚拟机(JVM)中,一个对象在内存中的存储布局可以分为三个部分:对象头(Object Header)、实例数据(Instance Data)和对齐填充(Padding)。理解这三个部分对于分析内存占用和性能优化非常重要。

  1. 对象头(Object Header)
    每个Java对象都必须有一个对象头,这部分就像是对象的“身份证”,它存储着与对象运行时相关的重要元数据。对象头主要包含两个部分:

Mark Word(标记字段):这部分是对象头的核心,用于存储对象的运行时信息,比如哈希码、GC分代年龄、锁状态标志、偏向锁ID等。这部分的大小在32位和64位JVM中是不同的,通常在64位JVM中占用8字节。

Klass Pointer(类指针):这是一个指针,指向该对象对应的类元数据(在方法区中)。通过这个指针,JVM可以确定这个对象是哪个类的实例。在64位JVM上,这个指针通常是8字节。

为了节省内存,现代64位JVM通常会开启**压缩指针(Compressed Oops)**技术。当开启此技术后,原本8字节的类指针会被压缩成4字节,这大大减少了每个对象占用的内存空间。

因此,在64位JVM上:

开启压缩指针(默认):对象头大小为 12字节(8字节Mark Word + 4字节Klass Pointer)。

关闭压缩指针:对象头大小为 16字节(8字节Mark Word + 8字节Klass Pointer)。

  1. 实例数据(Instance Data)
    这部分是真正存储对象中所有实例字段(即成员变量)的地方,包括从父类继承的字段。JVM会按照一定的顺序来存放这些字段,通常的顺序是:

父类中定义的变量。

当前类中定义的变量。

在字段的存储顺序上,JVM为了更高效地读取,会对字段进行重新排序。一般来说,它会把占用空间小的字段(如byte、boolean、char、short)排列在占用空间大的字段(如long、double、Object引用)之后,以减少对齐填充带来的内存浪费。

  1. 对齐填充(Padding)
    由于JVM要求对象的总大小必须是8字节的倍数,以便于CPU高效地进行内存存取,所以当对象头和实例数据加起来的总大小不是8的倍数时,JVM会在最后添加一些字节,这就是对齐填充。

这个过程可以理解为:总大小 = 对齐填充前的总大小 + 填充字节,最终的结果是8的倍数。

举例说明
假设我们在64位JVM上,开启了压缩指针(默认设置),有一个Student类:

Java

class Student {
String name; // 引用类型
int age; // 基本类型
boolean isMale; // 基本类型
}
对象头:12字节(开启压缩指针)。

实例数据:

name(引用类型):4字节(压缩指针)。

age(int):4字节。

isMale(boolean):1字节。

实例数据总大小:4 + 4 + 1 = 9字节。

对齐填充:

当前总大小:12(对象头) + 9(实例数据) = 21字节。

21不是8的倍数,下一个8的倍数是24。

所以需要填充 24 - 21 = 3字节。

最终,这个Student对象的总大小就是 24字节。

http://www.dtcms.com/a/579078.html

相关文章:

  • 做视频网站需要流媒体吗国内高清视频素材网站
  • 基于高斯伪谱法的弹道优化方法及轨迹仿真计算
  • 怎么给网站做自适应wordpress.重装
  • 建设网站模块需要哪些google浏览器下载安装
  • 中山半江红网站建设重庆建工集团建设网站
  • 长尾识别BBN方法
  • 如何在Typora中嵌入视频
  • 三轴云台之多维度协同技术
  • 企业如何建公司网站网页模版比较出名的网站
  • 区块链媒体网站建设培训机构网页设计模板
  • 嵌入未来,公式无限
  • DICOM文件厚度信息的作用
  • 皇岗网站建设广东各地最新病例
  • 做网站的人能看到浏览的人的信息吗自驾游网站模板
  • 用七牛做网站公司做网站买服务器多少钱
  • 衡水网站优化推广城乡建设部网站广州市
  • 山东天成建设工程有限公司网站网站建设基础考试
  • 从Python到仓颉:核心项目内容迁移实践
  • 长沙做网站排名最近在线直播免费观看
  • 手机网站推广法中国建筑装修装饰
  • 广州pc网站建设大学生网站开发目的
  • 公司名称变更网站要重新备案网站的flash怎么做
  • wordpress版 影视站网页设计的摘要怎么写
  • 外贸型网站建设公司汕头网站建设托管
  • 武汉大学《AM》:液态金属法合成破纪录铼纳米颗粒!强度67.8 GPa同时实现80%超高塑性
  • 用Python打造智能成绩分析系统:从异常处理到断言验证的全流程实战
  • 想要找个网站做环评公示中国网络运营商排名
  • 是一个网站或站点的第一个网页注册网站要求
  • 南宁网站建设及推广WordPress互联
  • 怎么做有趣的微视频网站建网站咨询