jvm 参数 +UseCompressedClassPointers

本文探讨了JVM参数+UseCompressedClassPointers的作用,解释了对象头的结构以及该参数如何影响类指针的大小。当堆内存超过32GB时,为了支持更大的寻址空间,JVM可能会禁用类指针压缩。同时提到了对象的分配方式,包括栈上的逃逸分析和堆上的线程本地分配缓冲区。
摘要由CSDN通过智能技术生成

java -XX:+PrintCommandLineFlags -version
在这里插入图片描述
注意:最大堆内存和最小堆内存一般设置为统一,避免它自动膨胀缩小浪费资源

//对象头指针的大小可以压缩

在这里插入图片描述

前两个 object header 为mardword
第三个为 class point
在这里插入图片描述
禁止压缩classpoint (从4byte 变 为 8byte)
前两个 object header 为mardword
后两个 为 class point
在这里插入图片描述
指针4个字节时候 寻址最大内存为32G
可能当对堆内存调到48G
指针不压缩了在这里插入图片描述
//对象的定位方式 句柄方式 和直接指针(hotspot默认的方式)
//对象的分配方式,栈(逃逸分析、变量替换) —> 堆(线程本地内存 hread Local Allocation Buffer)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值