《深入理解Java虚拟机》之长期存活的对象将进入老年代测试结果(-XX:MaxTenuringThreshold=15未生效)

本文通过运行《深入理解Java虚拟机》中的代码,探讨了-XX:MaxTenuringThreshold参数对长期存活对象晋升到老年代的影响。在JDK 1.8.0_172环境下,即使设置为15,对象依然在第二次GC时进入老年代,这与书中描述和JDK 1.6.0_37环境下的结果不同,可能是新版JVM的优化导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在阅读《深入理解Java虚拟机》中长期存活对象进入年老代这部分内容时,将书中代码运行了一遍,结果如下(运行环境:jdk1.8.0_172):

①当-XX:MaxTenuringThreshold=1时,运行结果与书中描述一致,allocation1对象在第二次GC发生时进入老年代。

[GC (Allocation Failure) [DefNew
Desired survivor size 524288 bytes, new threshold 1 (max 1)
- age   1:     790240 bytes,     790240 total
: 5335K->771K(9216K), 0.0031656 secs] 5335K->4867K(19456K), 0.0032127 secs] [Times: user=0.02 sys=0.00, real=0.00 secs] 
[GC (Allocation Failure) [DefNew
Desired survivor size 524288 bytes, new threshold 1 (max 1)
: 4867K->0K(9216K), 0.0008847 secs] 8963K->4866K(19456K), 0.0009065 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
Heap
 def new generation   total 9216K, used 4178K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)
  eden space 8192K,  51% us

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值