【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

相关推荐
zm-v-159304339861 分钟前
解锁遥感数据密码:DeepSeek、Python 与 OpenCV 的协同之力
开发语言·python·opencv
我喜欢山,也喜欢海12 分钟前
Jenkins Maven 带权限 搭建方案2025
java·jenkins·maven
周Echo周13 分钟前
20、map和set、unordered_map、un_ordered_set的复现
c语言·开发语言·数据结构·c++·算法·leetcode·list
明天更新18 分钟前
Java处理压缩文件的两种方式!!!!
java·开发语言·7-zip
铁锚24 分钟前
一个WordPress连续登录失败的问题排查
java·linux·服务器·nginx·tomcat
老胖闲聊24 分钟前
C# 注册表操作类
开发语言·c#
勘察加熊人26 分钟前
Python+Streamlit实现登录页
开发语言·python
yychen_java30 分钟前
上云API二开实现三维可视化控制中心
java·无人机
理智的煎蛋31 分钟前
keepalived+lvs
java·开发语言·集成测试·可用性测试
CopyLower44 分钟前
Java与AI技术结合:从机器学习到生成式AI的实践
java·人工智能·机器学习