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

外贸网站制作价格表中国机械加工网易下拉教程

外贸网站制作价格表,中国机械加工网易下拉教程,浙江seo博客,兰州市城乡建设及网站文章目录 面试题Object object new Object() 谈谈你对这句话的理解#xff1f; 对象在堆内存中存储布局权威定义#xff08;周志明老师JVM第三版#xff09;对象在堆内存中的存储布局详解对象头的MarkWord源码对象标记源码 对象内存布局#xff08;使用JOL证明#xff09… 文章目录 面试题Object object new Object() 谈谈你对这句话的理解 对象在堆内存中存储布局权威定义周志明老师JVM第三版对象在堆内存中的存储布局详解对象头的MarkWord源码对象标记源码 对象内存布局使用JOL证明依赖只有对象头对象的内存布局信息运行结果展示压缩指针 有实例数据的对象的内存布局信息 文章说明 面试题 对象头存储那些信息长度是多少位存储 Object object new Object() 谈谈你对这句话的理解 位置所在JVM堆-新生区-伊甸园区 对象的构成要素构成布局对象头实例数据对齐填充 对象在堆内存中存储布局 权威定义周志明老师JVM第三版 在HotSpot虚拟机里对象在堆内存的存储布局可以划分为三个部分对象头Header、实例数据Instance Data 和对齐填充Padding。 对象在堆内存中的存储布局 **对象头**在64位系统中Mark Word占了8个字节类型指针占了8个字节开启压缩指针的话有时候会压缩到4个字节一共是16个字节 对象标记(Mark Word) 下面详解 类元信息klassOop类型指针 类元信息存储指向该对象类元数据(klass)的地址虚拟机通过这个指针来确定这个对象哪个类的实例 实例数据 存放类的属性(Field)数据信息包括父类的属性信息 对齐填充保证8个字节的倍数 虚拟机要求对象起始地址必须是8字节的整数倍填充数据不是必须存在的仅仅是为了字节对齐这部分内存按8字节补充对齐。例如有一个对象内存是21个字节会填充到24个字节 详解对象头的MarkWord 先思考如下问题 new一个时象占内存多少对象名.hashcode()这个hashcode记录在对象的什么地方synchronized(o)怎么知道锁了多少次system.gc()手动收集垃圾15次可以从新生代-老年代哪里记录了分代年龄 上述信息都存储在MarkWord中。默认存诸对象的HashCode、分代年龄和锁标志位等信息。这些信息都是与对象自身定义无关的数据所以MarkWord被设计成一个非固定的数据结构以便在极小的空间内存存储尽量多的数据。它会根据对象的状态复用自己的存储空间也就是说在运行期间MarkWord里存储的数据会随着锁标志位的变化而变化 通过看标志位就能获取存储内容的状态 32位虚拟机不用深入学习了解即可现在都有64位 在64位虚拟机中Mark Word占了8个字节64bit类型指针占了8个字节一共是16个字节。new一个最简单的Object没有实例数据这些这个对象就是16字节。 分代年龄的存储空间是4bit最多只能存储到15到达15对象就需要从新生代晋升到老年代 尝试强制设置为16 代码运行就会报错 源码 _mark字段是mark word_metadata是类指针klass pointer对象头object header即是由这两个字段组成 对象标记源码 hash 保存对象的哈希码age保存对象的分代年龄biased_lock偏向锁标识位lock锁状态标识位JavaThread*保存持有偏向锁的线程IDepoch保存偏向时间戳 对象内存布局使用JOL证明 JOL官网https://openjdk.org/projects/code-tools/jol/ JOL Java Object Layout。JOLJava对象布局是一个小型工具箱用于分析JVM中的对象布局方案。这些工具大量使用Unsafe、JVMTI和服务性代理SA以解码实际的对象布局、占用空间和引用。这使得JOL比其他依赖于堆转储、规范假设等的工具更准确。注Unsafe、JVMTI和Serviceability AgentSA都是Java中的一些技术或工具。 依赖 dependencygroupIdorg.openjdk.jol/groupIdartifactIdjol-core/artifactIdversion0.9/version /dependencySystem.out.println(VM.current().details());打印当前虚拟机的信息 只有对象头对象的内存布局信息 运行结果展示 Object只有对象头没有任何实例数据 没有属性的自定义类默认也是16字节 压缩指针 Java -XX:PrintCommandLineFlags -version 查看当前虚拟机信息默认开启压缩指针表示开启开启后将上述类型指针压缩为4字节以节约空间 手动关闭压缩指针 -XX: -UseCompressedClassPointers-表示关闭 【总结】 1、默认配置启动了压缩指针-XX:UseCompressedClassPointers12 4(对齐填充) 一个对象16字节 2、手动配置关闭了压缩指针-XX:-UseCompressedClassPointers8 8 一个对象16字节 有实例数据的对象的内存布局信息 public class JOLDemo {public static void main(String[] args) {Object o new Object();//16 bytesCustomer c1 new Customer();//16 bytesSystem.out.println(ClassLayout.parseInstance(c1).toPrintable());} }class Customer//16字节忽略压缩指针的影响4字节1字节21字节----》对其填充24字节 {//2 第二种情况int boolean默认满足对其填充24 bytesint id;boolean flag false;boolean flag2 false; }文章说明 该文章是本人学习 尚硅谷 的学习笔记文章中大部分内容来源于 尚硅谷 的视频尚硅谷JUC并发编程对标阿里P6-P7也有部分内容来自于自己的思考发布文章是想帮助其他学习的人更方便地整理自己的笔记或者直接通过文章学习相关知识如有侵权请联系删除最后对 尚硅谷 的优质课程表示感谢。
http://www.w-s-a.com/news/533074/

相关文章:

  • 肇庆企业自助建站系统郴州网站建设解决方案
  • 长沙专业做网站排名游戏开发大亨内购破解版
  • 网站推广适合女生做吗网站如何开启gzip压缩
  • 做外单阿里的网站建站平台那个好
  • 全国性质的网站开发公司关于网站开发的请示
  • 齐齐哈尔住房和城乡建设局网站生物科技公司网站模板
  • 中国建设协会官方网站前端培训的机构
  • 网站建设套餐是什么北京孤儿院做义工网站
  • 网站如何做微信支付链接做暧小视频xo免费网站
  • SEO案例网站建设重庆建站模板平台
  • 上海seo网站推广公司wordpress 小米商城主题
  • 搭建服务器做网站什么网站可以请人做软件
  • 上海建筑建材业网站迁移公家网站模板
  • 仿制别人的网站违法吗网站防火墙怎么做
  • 杨浦网站建设 网站外包公司如何进行网络推广
  • wordpress+仿站步骤超详细wordpress常用函数
  • 浙江手机版建站系统哪个好怎样黑进别人的网站
  • 企业网站搜索引擎推广方法装修网络公司
  • 网站运营优化建议wordpress 添加媒体
  • 用asp.net做网站计数器施工企业会计的内涵
  • 网站被黑咋样的网站建设 设计业务范围
  • 网站开发学哪种语言网站编辑器失效
  • WordPress插件提示信息江阴网站优化
  • 网站开发用的软件如何做网站内容管理
  • 扬州网站建设公司网站推广是什么岗位
  • 双线网站管理咨询公司是做什么
  • asia域名的网站贵州光利达建设工程有限公司局网站
  • 梅州南站济南做网络安全的公司
  • 网站源代码 phpseo营销推广费用
  • 南京专业制作网站深圳整装装修公司排名