标签:条件 short val option auto gen 它的 port 保存
首先看一段代码(使用JDK 5),如下:
输出结果:
The Java Language Specification, 3rd Edition 写道:
查看jdk源码,如下:
这儿的IntegerCache有一个静态的Integer数组,在类加载时就将-128 到 127 的Integer对象创建了,并保存在cache数组中,一旦程序调用valueOf 方法,如果i的值是在-128 到 127 之间就直接在cache缓存数组中去取Integer对象。
再看其它的包装器:
同样对于垃圾回收器来说:
这里的代码不会有对象符合垃圾回收器的条件,这儿的i虽然被赋予null,但它之前指向的是cache中的Integer对象,而cache没有被赋null,所以Integer(100)这个对象还是存在。
而如果i大于127或小于-128则它所指向的对象将符合垃圾回收的条件:
标签:条件 short val option auto gen 它的 port 保存
原文地址:http://www.cnblogs.com/lxmyhappy/p/7355983.html