《深入理解Java虚拟机》---内存布局和访问

    java内存如何布局,如何运行,首先说下内存的几块局域

    1.对象头(Header)

        1.1 .  运行时数据(哈希码、GC分代标识、锁状态标识、偏向线程ID、偏向时间戳),32bit和64bit

                 对象头信息是与对象自身定义属性以外的内存开销

        1.2.   类型指针 指向类元数据的指针,辨别是那个类的实例。不是必须指针,如数组

  

   2. 实例部分:对象存储有效信息的区域

                         默认分配策略:longs/doubles、ints、shorts/chars、byte/Booleans、oops 相同宽度的字段会分配到一起。

 

   3. 对齐填充:8字节的整数倍,占位符的作用


      在java对象访问,存在两种方式

      其一 :句柄访问,先访问句柄池,在访问实例池,在访问方法区

      其二 :直接指针访问,对象类型指针在访问方法区,虚拟机采用该方式访问


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值