首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

设置IntegerCache的上界,该如何解决

2012-01-10 
设置IntegerCache的上界用-D可以设置java.lang.Integer.IntegerCache.high,将上限设置大于127,但是当我把

设置IntegerCache的上界
用-D可以设置java.lang.Integer.IntegerCache.high,将上限设置大于127,但是当我把它置为小于127(比如20),
然后
Integer a = 10;
Integer b = 10;
System.out.println(a == b);
打出false
不知为何

[解决办法]
小于127没效果。

Java code
static {            // high value may be configured by property            int h = 127;            String integerCacheHighPropValue =                sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");            if (integerCacheHighPropValue != null) {                int i = parseInt(integerCacheHighPropValue);                i = Math.max(i, 127);                // Maximum array size is Integer.MAX_VALUE                h = Math.min(i, Integer.MAX_VALUE - (-low));            }            high = h;            cache = new Integer[(high - low) + 1];            int j = low;            for(int k = 0; k < cache.length; k++)                cache[k] = new Integer(j++);        } 

热点排行