扩展java Integer缓存

Tru*_*tin 3 java boxing caching integer

有一般建议使用Integer.valueOf(int)而不是new Integer(int)因为缓存.

在JDK 5+中,你应该真正使用,valueOf因为Integer现在Integer-128和之间缓存对象,并且每次都127可以将同一Integer(0)对象交给你,而不是在一个全新的相同Integer对象上浪费对象构造.

如何扩大范围?

Dan*_*ply 12

您可以使用java.lang.Integer.IntegerCache.high属性来增加此缓存的大小.
例如:

java -Djava.lang.Integer.IntegerCache.high=4096 SomeClass.class
Run Code Online (Sandbox Code Playgroud)