【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

相关推荐
代码雕刻家1 小时前
3.5.Maven-依赖管理-依赖配置&依赖传递
java·maven
Cg136269159741 小时前
JS-对象-Dom案例
开发语言·前端·javascript
!chen1 小时前
MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁
java·tomcat·mybatis
故事和你911 小时前
sdut-程序设计基础Ⅰ-实验五一维数组(8-13)
开发语言·数据结构·c++·算法·蓝桥杯·图论·类和对象
Jin、yz2 小时前
JAVA 八股
java·开发语言
va学弟2 小时前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
我是唐青枫2 小时前
C#.NET Span 深入解析:零拷贝内存切片与高性能实战
开发语言·c#·.net
pjw198809032 小时前
Spring Framework 中文官方文档
java·后端·spring
lxh01132 小时前
数据流的中位数
开发语言·前端·javascript
盒马盒马2 小时前
Rust:迭代器
开发语言·后端·rust