【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

相关推荐
XDHCOM2 分钟前
Redis节点故障自动恢复机制详解,如何快速抢救故障节点,确保数据不丢失?
java·数据库·redis
风吹迎面入袖凉4 分钟前
【Redis】Redisson分布式锁原理
java·服务器·开发语言
A.A呐5 分钟前
【QT第五章】系统相关
开发语言·qt
QCzblack5 分钟前
BugKu BUUCTF ——Reverse
java·前端·数据库
Orange_sparkle8 分钟前
learn claude code学习记录-S02
java·python·学习
李白你好10 分钟前
Java GUI-未授权漏洞检测工具
java·开发语言
leo__52025 分钟前
拉丁超立方抽样(Latin Hypercube Sampling, LHS)MATLAB实现
开发语言·matlab
sycmancia27 分钟前
Qt——Qt中的标准对话框
开发语言·qt
aq553560029 分钟前
四大编程语言对比:PHP、Python、Java、易语言
java·python·php
橙露44 分钟前
Python 对接 API:自动化拉取、清洗、入库一站式教程
开发语言·python·自动化