Integer类的缓存机制
来源:互联网 发布:上实剑桥 知乎 编辑:程序博客网 时间:2024/05/01 14:24
下面的程序
public class IntegerTest{public static void main(String[] args){ Integer a1 = 100; Integer a2 = 100; System.out.println(a1==a2); Integer b1 = 200; Integer b2 = 200; System.out.println(b1==b2);}}
输出的结果为:
为什么会出现这样的结果?
查看Integer中的源码就知道原因。
上面是一个Integer类中的内部类,是处理Integer的缓存,cache的大小为256,static块中是对cache赋值从-128(包含)~127(包含),所以上面的例子可以得出100在范围以内不会产生新的对象,直接返回缓存中的对象,200不在范围内会产生新的对象,注意Integer的缓存数据是不会被垃圾回收。
从该类的注释看也可以知道
0 0
- Integer类的缓存机制
- 学习笔记 - java Integer包装类的缓存机制
- java Integer类的缓存
- Java Integer类的缓存
- java Integer类的缓存
- java Integer类的缓存
- 【小细节】Integer缓存机制(包装类型的缓存机制)
- Integer类(包装类)的缓存
- Java中Integer类的缓存问题
- Java包装类的缓存Integer
- Integer的缓存问题
- Java的Integer缓存
- 源码-Integer的缓存
- Classloader类的缓存机制
- Integer的自动缓存大小
- Java Integer的缓存策略
- Java Integer的缓存策略
- Java Integer的缓存问题
- 如何在 iOS 9 中创建 Stack View
- Amazon OA1——GrayCode
- bzoj1635: [Usaco2007Jan]Tallest Cow 最高的牛
- iOS 9: UIStackView入门
- Chapter 8 Optimization 调优
- Integer类的缓存机制
- JavaScript Core -- 函数详解(作用域&&参数值传递&&this关键字&&函数声明)
- 移动互联的未来,谁在紧握命运的咽喉?
- SpringMvc详细深入使用文档
- 打印图形-for
- 【二维RMQ】hdu 2888 Check Corners
- css之position
- Objective-C Foundation框架实践——NSString(四)
- EasyUI+js实现动态加载导航栏