【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

相关推荐
2501_92596338几秒前
Hi3516 + WS73 SDIO Wi-Fi 适配笔记
java·开发语言
CoderYanger3 分钟前
视频切割脚本(Python版)
linux·开发语言·windows·后端·python·程序人生·职场和发展
辞旧 lekkk3 分钟前
CMake工程指南(一)
linux·运维·服务器·开发语言·qt·学习·萌新
迷途呀6 分钟前
新闻头条后端:新闻缓存模块
前端·redis·python·缓存·fastapi
●VON6 分钟前
HarmonyKit | 鸿蒙开发:hvigor 构建系统命令行与缓存机制详解
缓存·华为·交互·harmonyos·鸿蒙
数据知道13 分钟前
DNS 安全攻防:缓存投毒、DNS 隧道与检测实战
安全·网络安全·缓存·缓存投毒
Wang's Blog13 分钟前
Java框架快速入门:深入MyBatis-Plus高级DML操作(ID策略·逻辑删除·乐观锁)
java·数据库·mybatis
小七在进步20 分钟前
数据结构:用栈实现队列
开发语言·数据结构
KaMeidebaby21 分钟前
卡梅德生物技术快报|噬菌体筛选:噬菌体筛选工程化优化方案:基于侵染全链条参数调控与水环境应用验证
java·开发语言·人工智能·机器学习·spark
geovindu21 分钟前
go: Floyd-Warshall Algorithms
开发语言·后端·算法·golang