【JavaSE】Java基本数据类型缓存池

new Integer(18)Integer.valueOf(18)Integer.valueOf(300) 的区别

  • new Integer(18) :每次都会创建一个新对象
  • Integer.valueOf(x)
    • x in [-128, 127]:使用缓存池中的对象
    • x not in [-128, 127]:创建新对象

Integer缓存池大小:默认为 -127~128,可以通过JVM参数设置

Integer i = 18

  • 当引用是Integer类型,= 右侧是基本数据类型int时,会发生自动装箱
  • 底层其实是调用了Integer.valueOf()方法,因此也会用到缓存常量池


什么是Integer缓存?

前面所示的Integer缓存池其实就是Integer的一个静态内部类IntegerCache

相关推荐
星竹晨L10 分钟前
C++继承机制:面向对象编程的基石
开发语言·c++
皮皮林55119 分钟前
5种接口频率监控方案实战对比,性能、成本、复杂度全解析!
java
似水流年 光阴已逝25 分钟前
从Jar包到K8s上线:全流程拆解+高可用实战
java·kubernetes·jar
G_dou_37 分钟前
Rust安装
开发语言·后端·rust
YA33343 分钟前
java设计模式八、组合模式
java·设计模式·组合模式
一枚码仔1 小时前
SpringBoot启动时执行自定义内容的5种方法
java·spring boot·后端
桦说编程1 小时前
如何在Java中实现支持随机访问的固定窗口队列
java·数据结构·后端
小白黑科技测评1 小时前
2025 年编程工具实测:零基础学习平台适配性全面解析!
java·开发语言·python
qwfys2001 小时前
实时Java规范(RTSJ):从理论到实践的实时系统编程范式
java·实时·java规范·rtsj
ejinxian1 小时前
Python 3.14 发布
java·开发语言·python