这是个老生常谈的问题了,在此不展开细说,具体细节大家看下jdk源码就可以了。
1. Integer和Long都默认缓存值从-128到127的对象,缓存工作在静态块完成,在类生命周期(loading verify prepare resolving initial using unload)的初始化阶段执行。
2. Integer的缓存上界high可以通过jvm参数-XX:AutoBoxCacheMax=size指定,取指定值与127的最大值并且不超过Integer表示范围,而下界low不能指定,只能为-128。
3. Long缓存范围上界和下界均不能动态指定
关于Integer类和Long类对值的缓存问题
最新推荐文章于 2022-08-11 09:00:00 发布