黑马程序员技术交流社区

标题: 郑州校区--技术面试题之《Integer 缓存》 [打印本页]

作者: 我是楠楠    时间: 2017-8-18 11:55
标题: 郑州校区--技术面试题之《Integer 缓存》
找工作,怎么才能拿到高薪offer,对于没有工作过、没有面试过的学员们,当天面试回来一定要总结。面试题一定要记下来,有笔试题就更好了,直接手机拍下来,晚上回来总结;不懂的可以问老师去群里面交流或者是查资料,把整理好的面试题共享,让其他小伙伴看到,每个人都这样做,日积月累我们就会有一个庞大的面试题库,受益你我他。一句话:面试——>总结——>分享。





package zz.itcast.cn;
publicclass TestMain {
       public static void main(String[] args) {
               Integer i1 = 1;
               Integer i11 = 1;
              System.out.println(i1 == i11);
               Integer i2 = 200;
               Integer i22 = 200;
              System.out.println(i2 == i22);
       }
}
结果 :True,false
分析:反编译结果为   Integer i1 = Integer.valueOf(1);
可以看出,对于Integer i = 1;编译器做了额外的处理,即Integer.valueof();可以看出Integer对于一定 范围内的数字从Cache中取得,对于额外的,调用new创建。
故可以知道Integer的大小,默认是从-128到127,对于这个范围内的数组做了缓存的处理。 对于额外的,调用new创建。


作者: baby14    时间: 2019-1-18 08:30
多谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2