【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

相关推荐
jllllyuz5 分钟前
matlab使用B样条进行曲线曲面拟合
开发语言·matlab
FLGB9 分钟前
maven漏洞检测报告
java·maven
农夫山泉2号19 分钟前
【c++】——c++编译的so中函数有额外的字符
java·服务器·c++
wangan09429 分钟前
不带圆圈的二叉树
java·前端·javascript
ku_code_ku33 分钟前
python bert_score使用本地模型的方法
开发语言·python·bert
小马哥编程38 分钟前
【软考架构】滑动窗口限流算法的原理是什么?
java·开发语言·架构
云栖梦泽1 小时前
鸿蒙数据持久化实战:构建本地存储与云同步系统
开发语言·鸿蒙系统
wjs20241 小时前
《Ionic 侧栏菜单》
开发语言
祁思妙想1 小时前
linux常用命令
开发语言·python
饕餮争锋1 小时前
Spring AOP原理简析
java·spring