前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM性能调优-Java程序员不可不知的对象创建底层步骤细节

JVM性能调优-Java程序员不可不知的对象创建底层步骤细节

作者头像
cwl_java
发布2019-12-20 12:56:26
3750
发布2019-12-20 12:56:26
举报
文章被收录于专栏:cwl_Javacwl_Java
简介:Java程序员不可不知的对象创建底层步骤细节
对象创建的流程步骤包括哪些
  • 虚拟机遇到⼀条new指令时,⾸先检查这个对应的类能否在常量池中定位到⼀个类的符号引⽤
  • 判断这个类是否已被加载、解析和初始化
  • 为这个新⽣对象在Java堆中分配内存空间,其中Java堆分配内存空间的⽅式主要有以下两种
    • 指针碰撞
      • 分配内存空间包括开辟⼀块内存和移动指针两个步骤
      • ⾮原⼦步骤可能出现并发问题,Java虚拟机采⽤CAS配上失败重试的⽅式保证更新操作的原⼦性
    • 空闲列表
      • 分配内存空间包括开辟⼀块内存和修改空闲列表两个步骤
      • ⾮原⼦步骤可能出现并发问题,Java虚拟机采⽤CAS配上失败重试的⽅式保证更新操作的原⼦性
  • 将分配到的内存空间都初始化为零值
  • 设置对象头相关数据
    • GC分代年龄
    • 对象的哈希码 hashCode
    • 元数据信息
  • 执⾏对象⽅法
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对象创建的流程步骤包括哪些
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档