jvm的调优尝试

对象的内存布局

对象的内存布局

hotspot虚拟机要求对象的大小必须是8字节的整数倍,因此需要对其填充部分(貌似是对于64位计算机在读取内存数据到缓冲区的时候是按照八字节八字节读取的)
在这里插入图片描述
Markword:内存布局
在这里插入图片描述
ClassPointer:jdk 1.8默认开启了指针压缩功能,对于实例对象中指向方法区中的ClassPointer占用大小为4字节。可以使用如下库进行内存布局查看

		<dependency>
            <groupId>org.openjdk.jol</groupId>
            <artifactId>jol-core</artifactId>
            <version>0.9</version>
        </dependency>

默认情况下为
在这里插入图片描述

当关闭该功能时(-XX:-UseCompressedOops):内存布局为
在这里插入图片描述
查看虚拟机的启动参数

jinfo  pid   查看指定进程的虚拟机信息
-XX:-BytecodeVerificationRemote
 -XX:CICompilerCount=12  //并行编译数
 -XX:InitialHeapSize=2147483648 
 -XX:+ManagementServer 
 -XX:MaxHeapSize=4244635648
 -XX:MaxNewSize=1414529024
 -XX:MinHeapDeltaBytes=524288 
 -XX:NewSize=715653120
 -XX:OldSize=1431830528 
 -XX:+UseCompressedClassPointers 
 -XX:+UseCompressedOops 
 -XX:+UseFastUnorderedTimeStamps 
 -XX:+UseParallelGC 

-Xms:最小堆内存大小
-Xmx:最大堆内存大小

在生产环境下将这两个值设置为一致,避免每次gc之后进行的内存分配从而提高性能。
后续…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值