【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

相关推荐
Sylvia-girl2 分钟前
Java——抽象类
java·开发语言
Yana.nice2 小时前
Bash函数详解
开发语言·chrome·bash
Touper.3 小时前
Redis 基础详细介绍(Redis简单介绍,命令行客户端,Redis 命令,Java客户端)
java·数据库·redis
m0_535064603 小时前
C++模版编程:类模版与继承
java·jvm·c++
虾条_花吹雪4 小时前
Using Spring for Apache Pulsar:Message Production
java·ai·中间件
tomorrow.hello4 小时前
Java并发测试工具
java·开发语言·测试工具
Moso_Rx4 小时前
javaEE——synchronized关键字
java·java-ee
千宇宙航4 小时前
闲庭信步使用图像验证平台加速FPGA的开发:第十课——图像gamma矫正的FPGA实现
图像处理·计算机视觉·缓存·fpga开发
晓13134 小时前
JavaScript加强篇——第四章 日期对象与DOM节点(基础)
开发语言·前端·javascript
老胖闲聊4 小时前
Python I/O 库【输入输出】全面详解
开发语言·python