【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

相关推荐
孟华苏6 小时前
怎么快速排查内存泄漏问题
java·开发语言·python
zz34572981136 小时前
C语言中字符串常量存储位置
c语言·开发语言·算法·青少年编程
noipp6 小时前
推荐题目:洛谷 P16510 [GKS 2015 #C] gRanks
java·c语言·开发语言·c++·python·算法
flyinmind6 小时前
Java环境与Android环境中使用QuickJS
java·开发语言·javascript·quickjs
郑洁文6 小时前
基于Python的HTTP服务漏洞信息收集工具设计与实现
开发语言·python·http
不吃鱼的羊6 小时前
DaVinci Developer自动连接
java·开发语言
Evand J6 小时前
【MATLAB例程】VSIMM与IMM在机动目标跟踪中的性能对比,CV+CT双模型
开发语言·matlab·目标跟踪
farerboy6 小时前
15-Java while 和 do...while循环
java·后端
Meteors.6 小时前
Kotlin协程序使用技巧和应用场景
android·开发语言·kotlin
在繁华处6 小时前
Java从零到熟练(十二):Java与AI工具整合
java·人工智能·python