【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

相关推荐
古韵几秒前
告别手写分页逻辑:usePagination 从 50 行到 3 行
java·前端
HappyAcmen2 分钟前
9.复盘API全套流程
开发语言·python
北城以北88889 分钟前
Quartz定时任务
java·spring boot·intellij-idea
charlie11451419115 分钟前
通用GUI编程技术——图形渲染实战(四十五)——D3D12资源与堆管理:从上传到驻留
开发语言·3d·图形渲染·win32
不会C语言的男孩16 分钟前
C++ Primer 第12章:动态内存
开发语言·c++
许彰午27 分钟前
JWT的四种设计策略——轻量负载缓存外置上下文线程统一验证
java·安全·缓存·tomcat
踏着七彩祥云的小丑39 分钟前
Go学习第1天:入门
开发语言·学习·golang·go
小bo波1 小时前
Java Swing 可视化素数筛:动态演示 1~120 质数筛选【附完整源码】
java·算法·可视化·swing·素数
眠りたいです1 小时前
现代C++:C++17中的新库特性
开发语言·c++·c++20·c++17
devnullcoffee1 小时前
亚马逊 Buy Box 数据采集完全指南(2026):Python 实战 + Pangolinfo API
开发语言·python·亚马逊数据采集·亚马逊数据 api·pangolinfo api·亚马逊 buy box 数据·亚马逊数据采集软件