1.9 JDK源码阅读之Integer

本文探讨了Java中Integer缓存机制,解释了为何-128至127之间的Integer对象通过valueOf方法生成的是同一对象,这有助于提升内存效率。文章还分析了equals与==在Integer对象比较中的区别,并介绍了Integer类的一些常用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最大最小范围

可以代表number的char[]

 

 toString

parseInt

 

Integer把-128到127(可调)的整数都提前实例化了。 这就解释了上面那道面试题的答案,原来你不管创建多少个这个范围内的Integer用ValueOf出来的都是同一个对象。但是为什么JDK要这么多此一举呢? 我们仔细想想, 淘宝的商品大多数都是100以内的价格, 一天后台服务器会new多少个这个的Integer, 用了IntegerCache,就减少了new的时间也就提升了效率。同时JDK还提供cache中high值得可配置,

不管创建多少个这个范围内的Integer用ValueOf出来的都是同一个对象 

 hashcode 为自己 所以 == 比的就是value值

 hashcode 为自己 所以 == 比的就是value值

compare

这个函数调用。使用的第一感觉就是这个函数是干什么用的,通过查看文档得知,这个函数的作用是取 i 这个数的二进制形式最左边的最高一位且高位后面全部补零,最后返回int型的结果。 

参考https://blog.youkuaiyun.com/jessenpan/article/details/9617749

该函数可以返回二进制首部开始0的个数
如:2818048,对应二进制:00000000  00101011  00000000  00000000,会返回10

参考https://bbs.youkuaiyun.com/topics/391042123 

反转

返回整数符号

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值