Java Integer包装类缓存(cache)

Java的Integer类包含一个内部缓存机制,用于优化autoboxing和unboxing的性能,减少小整数对象的重复创建。缓存范围固定在-128到127之间。当在该范围内自动装箱时,Java会直接从缓存中返回对象,而非新建。此外,通过JVM启动参数可调整缓存大小,但可能导致内存占用增加。其他包装类如Boolean、Character等也有类似缓存机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java的Integer类有一个内部的缓存机制,主要用于优化自动装箱(autoboxing)和拆箱(unboxing)的性能。这个特性首次引入于Java 5,旨在减少对频繁使用的小整数值的重复对象创建,从而提高性能和减少内存使用。

 参数文档:Java Integer包装类缓存(cache)-CJavaPy

1、缓存范围

默认情况下,Integer缓存预先创建并存储了值在 -128 到 127 之间的整数对象。这个范围是固定的,因为它被定义为标准Java规范的一部分。-128 到 127 范围内的整数使用非常频繁,重用这些对象可以显著节省内存。

public class Main {
  public static void main(String[] args) {
	  Integer integer1 = 3;
		Integer integer2 = 3;
		if (integer1 == integer2)
			System.out.println("integer1 == integer2");
		else
			System.out.println("integer1 != integer2");
		Integer integer3 = 300;
		Integer integer4 = 300;
		if (integer3 == integer4)
			System.out.println("integer3 == integer4");
		else
			System.out.println("integer3 != integer4");

  }
}

2、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值