【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

相关推荐
小江的记录本15 小时前
【Transformer架构】Transformer架构核心知识体系(包括自注意力机制、多头注意力、Encoder-Decoder结构)
java·人工智能·后端·python·深度学习·架构·transformer
AIminminHu15 小时前
OpenGL渲染与几何内核那点事-项目实践理论补充(三-1-(3):番外篇-当你的CAD打开“怪兽级”STL时:从内存爆炸到零拷贝的极致优化)
开发语言·c++·线程·多线程
小松加哲15 小时前
深入剖析Tomcat原理
java·tomcat
c++逐梦人15 小时前
线程同步与互斥
linux·开发语言
坐吃山猪15 小时前
Python09_正则表达式
开发语言·python·正则表达式
AI科技星15 小时前
v=c 物理理论核心参数转换表达式大全
开发语言·线性代数·算法·数学建模·平面
三原15 小时前
附源码:三原管理系统新增俩种常用布局
java·前端·vue.js
oldmao_200015 小时前
第八章 设计并发代码
开发语言·c++·多线程编程·并发编程
Rick199315 小时前
Redis查询为什么快
数据库·redis·缓存
現実君15 小时前
现代化嵌入式AI编程-IDEA指南
java·intellij-idea·ai编程