Java: JDK居然有个叫整型池的东西 | CrazyEgg
其实下面这些个assert语句都可以通过junit测试。
1 | @Test |
Integer的public static Integer valueOf(int i)是一个工厂方法,每次调用都会返回一个新的Integer的对象。
但是为什么对于127和128的两个结果完全不一样???
撸一眼JDK的源码看看,底下就是那个valueOf的具体实现:
1 | public static Integer valueOf(int i) { |
原来内部有个整型池(默认IntegerCache.low = -128和IntegerCache.high = 127),这样valueOf对于-128 ~ 127之间的返回值都是从池里面获取的。
可怜的不在这个范围内的整数!默哀
Read full article from Java: JDK居然有个叫整型池的东西 | CrazyEgg

No comments:
Post a Comment