【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

相关推荐
Ssan PRIN2 分钟前
Modbus报文详解
服务器·开发语言·php
枫叶丹43 分钟前
【HarmonyOS 6.0】ArkUI Swiper 组件:深入掌握滑动状态变化事件回调
开发语言·华为·harmonyos
小陈工6 分钟前
2026年4月4日技术资讯洞察:异步编程范式重塑、架构理性回归与开发者体验革命
开发语言·人工智能·python·机器学习·架构·数据挖掘·回归
eSsO KERF9 分钟前
MS SQL Server partition by 函数实战三 成绩排名
java
CAE虚拟与现实10 分钟前
Python在Windows 平台上引入了一种新的安装与运行时管理机制
开发语言·python
Hello eveybody24 分钟前
图论简述+图论考试要点(Python)
开发语言·python·图论
姗姗的鱼尾喵27 分钟前
Java 并发编程高频面试题(含AQS/线程池/锁)
java·经验分享·面试
Hello eveybody31 分钟前
二叉树简述+考试要点(Python)
开发语言·python
第二只羽毛35 分钟前
C++高性能内存池6(面试题)
大数据·开发语言·c++
故事和你9140 分钟前
洛谷-算法1-1-模拟与高精度4
开发语言·数据结构·c++·算法·蓝桥杯·动态规划