javajava Integer 缓存 一定是 -128~127 吗

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javajava Integer 缓存 一定是 -128~127 吗相关的知识,希望对你有一定的参考价值。

1.概述

我们都知道 java Integer是有缓存的,缓存范围是 -128~127。但是这个值是一定的吗?

不一定。看源码。缓存大小居然可以改变

/**
     * Cache to support the object identity semantics of autoboxing for values between
     * -128 and 127 (inclusive) as required by JLS.
     *
     * The cache is initialized on first usage.  The size of the cache
     * may be controlled by the @code -XX:AutoBoxCacheMax=<size> option.
     * During VM initialization, java.lang.Integer.IntegerCache.high property
     * may be set and saved in the private system properties in the
     * sun.misc.VM class.
     */

    /*
     * Integer缓存,默认缓

以上是关于javajava Integer 缓存 一定是 -128~127 吗的主要内容,如果未能解决你的问题,请参考以下文章

javaJava中TypeReference用法说明

javajava 队列 LinkedBlockingQueue

反射IntegerCache来动态修改Integer缓存池里的数值

反射IntegerCache来动态修改Integer缓存池里的数值

反射IntegerCache来动态修改Integer缓存池里的数值

反射IntegerCache来动态修改Integer缓存池里的数值