博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Integer的自动缓存
阅读量:6501 次
发布时间:2019-06-24

本文共 571 字,大约阅读时间需要 1 分钟。

hot3.png

Interger装箱有个自动缓存的概念
Integer a = 100;		Integer b = 100;		Integer c = 200;		Integer d = 200;		System.out.println(a == b);  //true		System.out.println(c == d);  //false
Integer是对象,==比较的是对象在内存中的物理地址,但是Integer有个缓存的概念,
符合规范的Java实现必须保证Integer的缓存至少要覆盖[-128, 127]的范围
,查看源码:
public static Integer valueOf(int i) {	final int offset = 128;	if (i >= -128 && i <= 127) { // must cache 	    return IntegerCache.cache[i + offset];	}        return new Integer(i);    }
在这个scope之内的所有是相同的,超过这个scope就是从heap上重新new一个所以是不相同的
这个缓存在VM启动时是可以配置的

转载于:https://my.oschina.net/xiaomaoandhong/blog/105746

你可能感兴趣的文章
艾特网能获2016APCA用户满意品牌大奖
查看>>
《软件工艺师:专业、务实、自豪》一2.4 《敏捷软件开发宣言》
查看>>
自由软件之父 Stallman:「我一生都为使用者的自由而奋斗」
查看>>
UCKeFu 发布v2.3.0 版本,增加移动端接入渠道
查看>>
《CCNP TSHOOT 300-135学习指南》——第2章 结构化故障检测与排除进程
查看>>
《Java EE 7精粹》—— 2.5 非阻塞I/O
查看>>
《Python数据科学实践指南》一2.2 字符串
查看>>
ps命令的10个例子
查看>>
《R数据可视化手册》——1.1 安装包
查看>>
《iOS创意程序设计家》——导读
查看>>
spring-aop
查看>>
android RecycleView Adapter简单封装
查看>>
PgSQL · 案例分享 · 递归收敛优化
查看>>
Dart的数据库操作
查看>>
Codeforces 591 B Rebranding【Codeforces Round #327 (Div. 2)】
查看>>
命名难,难于上青天
查看>>
批量修改文件名后缀
查看>>
Codeforces Round #284 (Div. 2) b
查看>>
ios编程30天之---12天《考反应的扑克游戏》
查看>>
setTimeout 让动画逐一出来
查看>>