开发者社区> 问答> 正文

Integer的缓存机制

Integer的缓存机制

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

展开
收起
游客pklijor6gytpx 2019-11-11 16:10:57 2671 0
3 条回答
写回答
取消 提交回答
  • image.png

            static final int low = -128;
            static final int high;
            static final Integer cache[];
    

    Integer会有个常量数组,缓存 -128 到 127的值。 与此类似的还有Long

    2020-05-18 17:30:18
    赞同 展开评论 打赏
  • 下一站是幸福

    一、Integer类的缓存机制 二、其它具有缓存机制的类 面试题回到顶部我们查看Integer的源码,就会发现里面有个静态内部类。

    2020-03-20 23:59:32
    赞同 展开评论 打赏
  • * Returns an {@code Integer} instance representing the specified
         * {@code int} value.  If a new {@code Integer} instance is not
         * required, this method should generally be used in preference to
         * the constructor {@link #Integer(int)}, as this method is likely
         * to yield significantly better space and time performance by
         * caching frequently requested values.
         *
         * This method will always cache values in the range -128 to 127,
         * inclusive, and may cache other values outside of this range.
         *
         * @param  i an {@code int} value.
         * @return an {@code Integer} instance representing {@code i}.
         * @since  1.5
         */
        public static Integer valueOf(int i) {
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
            return new Integer(i);
        }
    
    2019-11-11 16:11:28
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载