Java 基础 - Java中的Integer缓存机制详解

发布时间:2024年01月23日

在Java中,Integer是一个不可变的类,用于表示整数。为了提高性能,Java对于整数的自动装箱提供了一种特殊的缓存机制,即Integer缓存。本篇博客将深入探讨这一缓存机制的实现和原理。

1. 背景

在Java中,整数值在一定范围内(-128到127,包括两端)的自动装箱结果会被缓存,以提高性能。这意味着,当我们使用Integer.valueOf(int)方法创建整数对象时,如果值在此范围内,会返回缓存中的对象,而不是每次都创建新的对象。

2. 代码分析

让我们来分析一段示例代码:

public class MyIntegerCache {

    public static void main(String[] args) {
        Integer a = new Integer(127);        // 使用 new Integer(),每次返回新的 Integer 对象 注意:'Integer(int)' is deprecated since version 9 and marked for removal
        Integer b = Integer.valueOf(127);    // 使用 Integer.valueOf(),在缓存范围内,返回缓存的 Integer 对象
        Integer c = Integer.valueOf(127);    // 使用 Integer.valueOf(),在缓存范围内,返回缓存的 Integer 对象
        Integer d = Integer.valueOf(128);    // 使用 Integer.valueOf()&#x
文章来源:https://blog.csdn.net/qq_43116031/article/details/135758863
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。