缓存[-128-127]数字

2020年6月23日08:40:54
评论
2,482 次浏览 301字阅读1分0秒

实例:

//缓存
        Integer in1 = -128;
        Integer in2 = -128;
        System.out.println(in1 == in2);
        System.out.println(in1.equals(in2));

运行结果为true true

分析:

进入Integer.valueOf源码

缓存[-128-127]数字

首先,会看到进行了一个缓存最小和最大值的一个判断,在此范围内直接返回对应cache数组,再查看low和high的值

缓存[-128-127]数字

low值为-128,high值为127,还有一个cache缓存的数组

缓存[-128-127]数字

在启动是便生成Integer对象,并把对象放入cache数组

结论:

包装类-128-127之间为cache数组内对象,不在此范围内则new新对象

7z7z7z
  • 本文由 发表于 2020年6月23日08:40:54
  • 转载请务必保留本文链接:https://www.7z7z7z.cn/index.php/2020/06/23/%e7%bc%93%e5%ad%98-128-127%e6%95%b0%e5%ad%97/
ArrayList底层实现 编程语言

ArrayList底层实现

ArrayList底层是用数组实现的存储 特点和数组相同: 查询效率高 增删效率低 线程不安全 常用容器: 查询数据ArrayList(最常用) 增删数据常使用LinkedList 线程安全常使用Ve...
static关键字 编程语言

static关键字

为什么static方法内不能调用非静态属性,方法 static方法加载类时就已经创建在方法区,从属于类,非静态属性,方法创建对象时才创建,储存在堆,从属于对象,类加载对象不一定加载,无法找到对应属性和...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: