【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

相关推荐
晨风先生几秒前
打包Qt程序的脚本package.bat
开发语言·qt
周末吃鱼2 分钟前
研发快速使用JMeter
java·jmeter
EntyIU2 分钟前
自己实现mybatisplus的批量插入
java·后端
Li_76953214 分钟前
Redis 进阶(六)—— 集群
数据库·redis·缓存
朔北之忘 Clancy15 分钟前
2025 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
董世昌4122 分钟前
js遍历数组和对象的常用方法有哪些?
开发语言·javascript·ecmascript
小CC吃豆子25 分钟前
Java数据结构与算法
java·开发语言
晨旭缘26 分钟前
后端日常启动及常用命令(Java)
java·开发语言
CodeAmaz27 分钟前
ArrayList 底层原理
java·arraylist
山峰哥27 分钟前
3000字深度解析:SQL调优如何让数据库查询效率提升10倍
java·服务器·数据库·sql·性能优化·编辑器