王建新

Results 3 comments of 王建新

三美一足saas系统: 微信生态的自营销系统,H5+小程序 ,电商内容+用户会员分销 , 后台的类似于His,crm系统。

首先IdentityHashMap不同于其他的map,他判断key是否相同是 类似于 == 的操作,不是equals方法,其次这里的put是个int对象,会被装箱到Integer类型,他是有个缓存区间-127-128好像,然后put(1,"")的时候肯定是存在的,返回null, 在put 1024的时候超出Integer缓存范围需要new 一个,所以 == 的判断就不是一个了,就被被put进去。最后map的size是3

> 这个方法是 jdk1.8 开始才有的,不过其实考察重点是 "小整数缓存" IntegerCache,Java 语言设计者认为 -128~127 范围的整数比较常用,没必要每次都创建对象,Integer 本身又是不可变对象,线程安全。IntegerCache 下限不可配置,上限可通过 java.lang.Integer.IntegerCache.high 配置。 > 所以默认情况下,答案是(a)。 > 1 每次装箱后是同一个Integer对象,1024 装箱后是3个不同对象 哦对 -128-127 哈哈哈记错了