【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

相关推荐
大黄说说几秒前
MySQL数据库运维管理基础知识:从安装到日常维护的完整指南
开发语言
HAPPY酷9 分钟前
C++ 多线程实战三板斧
java·开发语言·c++·技术美术
独自破碎E14 分钟前
BISHI54货物堆放
android·java·开发语言
json{shen:"jing"}23 分钟前
分割回文串
java
workflower1 小时前
易用性和人性化需求
java·python·测试用例·需求分析·big data·软件需求
小灵不想卷1 小时前
LangChain4 初体验
java·langchain·langchain4j
忍者必须死1 小时前
ConcurrentHashMap源码解析
java
顾北121 小时前
SpringCloud 系列 04:Gateway 断言 / 过滤器 / 限流 一站式落地指南
java·开发语言·数据库
闻哥1 小时前
23种设计模式深度解析:从原理到实战落地
java·jvm·spring boot·设计模式·面试
wuqingshun3141592 小时前
java创建对象的方式
java·开发语言