【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

相关推荐
西红市杰出青年19 小时前
crawl4ai------AsyncPlaywrightCrawlerStrategy使用教程
开发语言·python·架构·正则表达式·pandas
进击的小菜鸡dd19 小时前
互联网大厂Java面试:微服务、电商场景下的全栈技术问答与解析
java·spring boot·缓存·微服务·消息队列·日志·电商
星河耀银海19 小时前
C++基础数据类型与变量管理:内存安全与高效代码的基石
java·开发语言·c++
sunnyday042619 小时前
Spring Boot 应用启动成功后的事件监听与日志输出实践
java·spring boot·后端
Logan Lie19 小时前
Go语言接口(interface)深度详解
开发语言·数据库·golang
予枫的编程笔记19 小时前
【JDK版本】JDK版本迁移避坑指南:从8→17/21实操全解析
java·人工智能·jdk
独断万古他化19 小时前
【MyBatis 深度解析】注解操作与 XML 配置:增删改查全流程实现
xml·java·spring·mybatis
西部风情19 小时前
稳定性质量系列-系统稳定性建设实践
java·开发语言
短剑重铸之日19 小时前
《7天学会Redis》Day 7 - Redisson 全览
java·数据库·redis·后端·缓存·redission
Qiuner19 小时前
一文读懂 Lambda
java·spring boot·后端·架构