您现在的位置是:亿华云 > 热点

Java Integer的缓存策略

亿华云2025-10-04 00:46:57【热点】9人已围观

简介Java5为Integer的操作引入了一个新的特性,用来节省内存和提高性能。整型对象在内部实现中通过使用相同的对象引用实现了缓存和重用。上面的规则默认适用于整数区间 -128 到 +127这个整数区间

Java5为Integer的缓存操作引入了一个新的特性,用来节省内存和提高性能。策略整型对象在内部实现中通过使用相同的缓存对象引用实现了缓存和重用。上面的源码下载策略规则默认适用于整数区间 -128 到 +127(这个整数区间可以通过启动应用的虚拟机参数修改:-XX:AutoBoxCacheMax)。这种Integer缓存策略仅在自动装箱(autoboxing)的缓存时候有用,使用构造器创建的策略Integer对象不能被缓存。站群服务器Java 编译器把原始类型自动转换为封装类的缓存过程称为自动装箱(autoboxing),这相当于调用 valueOf 方法。策略 publicstaticInteger valueOf(int i){ if(i >=IntegerCache.low && i <=IntegerCache.high)returnIntegerCache.cache[i +(-IntegerCache.low)];returnnewInteger(i);}

首先看代码:

Java Integer的缓存策略

publicclassTestInteger{ publicstaticvoid main(String[] args){ int i =128;Integer i2 =128;Integer i3 =newInteger(128);//Integer会自动拆箱为int,缓存策略所以为trueSystem.out.println(i == i2);System.out.println(i == i3);System.out.println("

Java Integer的缓存策略

很赞哦!(288)