Integer缓存原理与JVM调参应用

本文介绍了Java中Integer的缓存原理,包括包装类型的拆箱与装箱操作,Integer缓存如何在valueOf()方法中避免创建新对象。重点讨论了-XX:AutoBoxCacheMax参数的作用,它用于设置Integer缓存上限,以优化性能。内容涵盖何时调整此参数有效,以及与JIT编译器的关系。此外,还提及了通过jmap和jhat等工具监控堆中对象分布的重要性。
摘要由CSDN通过智能技术生成

基本数据类型的拆箱与装箱

jvm把一个包装类型自动转成基本数据类型叫做拆箱,反之叫做装箱。例如:


Integer integer = 2 ;//装箱 实际运行代码为Integer integer = Integer.valueOf(2);
int i = integer ;//装箱 实际运行代码为int i = integer.intValue();
</java>

Integer缓存原理

程序在执行装箱操作时,实际执行的代码为Integer.valueOf(number);我们查看这个方法的源码,发现number在一定范围内不创建新的对象,而是直接拿缓存。源码如下:

     * Returns an {
  @code Integer} instance representing the specified
     * {
  @code int} value.  If a new {<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值