【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

相关推荐
鱼鳞_12 小时前
Java学习笔记_Day27(Stream流)
java·笔记·学习
身如柳絮随风扬12 小时前
Servlet:访问流程、核心接口与生命周期
java·servlet·web
indexsunny12 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度探讨
java·数据库·spring boot·安全·微服务·监控·面试实战
夕除12 小时前
javaweb--03
java
txzrxz12 小时前
c++深度搜索讲解及例题
开发语言·c++·深度搜索·例题讲解
yu859395812 小时前
时延估计的互相关算法(MATLAB实现)
开发语言·算法·matlab
m0_6779048412 小时前
K8s学习
java·学习·kubernetes
ou.cs12 小时前
c# SemaphoreSlim保姆级教程
开发语言·网络·c#
|_⊙12 小时前
红黑树 (C++)
开发语言·c++·学习
Fate_I_C13 小时前
Kotlin 内部类和嵌套类
java·开发语言·kotlin