【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

相关推荐
还是鼠鼠8 分钟前
Redisson实现的分布式锁能解决主从一致性的问题吗?
java·数据库·redis·分布式·缓存·面试·redisson
d***95628 分钟前
windows配置永久路由
java
T***u33314 分钟前
PHP在电商中的会员管理
开发语言·wireshark·php·ue4·jina
张丶大帅21 分钟前
JS案例合集
开发语言·javascript·笔记
王桑.1 小时前
IO流高级流--转换流
java
2301_795167201 小时前
Python 高手编程系列八:缓存
开发语言·python·缓存
8***29311 小时前
Go基础之环境搭建
开发语言·后端·golang
qq_12498707531 小时前
基于SpringBoot技术的企业请假审批管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·信息可视化·毕业设计
Yue丶越2 小时前
【C语言】自定义类型:联合体与枚举
c语言·开发语言
BBB努力学习程序设计2 小时前
Java方法详解:提升代码复用性与可读性的利器
java