当前位置: 首页 > news >正文

桐庐住房和城乡建设局网站高级seo招聘

桐庐住房和城乡建设局网站,高级seo招聘,营销型网站建设市场,找做网站的公司需要注意什么Java的Integer缓冲池? Integer 缓存池主要为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围,因此缓存这些对象可以减少内存分配和垃圾回收的负担,提升性能。 在-128到 127范围内的 Integer 对象会被缓存和复用…

Java的Integer缓冲池?

Integer 缓存池主要为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围,因此缓存这些对象可以减少内存分配和垃圾回收的负担,提升性能。

在-128到 127范围内的 Integer 对象会被缓存和复用。

原理

int 在自动装箱的时候会调用Integer.valueOf,进而用到了 IntegerCache。

@HotSpotIntrinsicCandidate
public static Integer value0f(int i){if(i>= IntegerCache.low && i<= IntegerCache.high)  //如果传入的int值在缓存范围内,则直接从缓存中返回Integer对象return IntegerCache.cache[i+(-IntegerCache.low)];return new Integer(i);                              //否则,创建新的Integer对象
}
private static class IntegerCache{static final int low=-128;static final int high;static final Integer cache[];static {// high value may be configured by propertyint h = 127;String integerCacheHighPropValue = VM.getSavedProperty( key:"java.lang.Integer.IntegerCache.high");if(integerCacheHighPropValue != null){try {int i = parseInt(integerCacheHighPropValue);i = Math.max(i,127);// Maximum array size is Integer.MAX_VALUEh= Math.min(i,Integer.MAX_VALUE-(-low)-1);}catch( NumberFormatException nfe){//If the property cannot be parsed into an int, ignore it.}}high = h;cache =new Integer[(high-low)+1];int i = low;for(int k=0;k< cache.length; k++)    //遍历创建-128-127的所有对象cache[k]= new Integer(i++);assert IntegerCache.high >= 127;}private IntegerCache(){}
}

所以这里还有个面试题:就是为啥 Integer 127 之内的相等,而超过 127 的就不等了?

  • 因为小于等于127的 Integer 对象是从同一个缓存池中获取的,它们指向的是相同的对象实例,所以它们的引用相等

不仅 Integer 有,Long 同样有一个缓存池,不过范围是写死的 -128 到 127,不能通过JVM参数进行调整

@HotSpotIntrinsicCandidate
public static Long value0f(long l){final int offset = 128;if(l>= -128 &&l<= 127){ // will cachereturn LongCache.cache[(int)l + offsetl];}return new Long(l);
}

总结

  • Byte,Short,Integer,Long这4种包装类默认创建了数值[-128,127]的相应类型的缓存数据

  • Character 创建了数值在 [0,127]范围的缓存数据

  • Boolean 直接返回 True or False

  • Float 和 Double 没有缓存数据,毕竟是小数,能存的数太多了

http://www.yayakq.cn/news/826600/

相关文章:

  • 厦门网站建设推广自在威海智慧旅游平台app
  • 提供建立网站服务的公司wordpress json数据库
  • 许昌企业网站去哪开发中山外贸网站建设公司
  • 水果网站建设计划书平面设计创意
  • 网站海外推广哪家好装修采购网
  • 广州网站建设类岗位城市建设的网站 政策法规
  • 网站开发的逻辑站长工具2023最新国产
  • 江西航达建设集团网站武隆集团网站建设
  • 有什么建设网站的书籍wordpress插件用户
  • 2021还适合开网店吗学seo网站推广好吗
  • 兰州起点网站建设找产品做代理都有哪个网站
  • 施工企业春联泉州网站优化排名
  • 自己做外贸 建一个网站网站编程赚钱
  • idc自动续费网站源码网页设计与制作教程习题五答案
  • 优秀自适应网站建设哪家好东台网页定制
  • 有经验的南昌网站设计本地wordpress
  • 建网站程序工具一定要用c 做网站吗
  • 教程网站搭建网站发布系统
  • 辽宁省住房和城乡建设部网站主页免费网站程序下载
  • 网站建设与开发做什么百度蜘蛛池自动收录seo
  • 如何做能上传视频网站怎样制作网页视频
  • 设计素材网站 ps网站开发端
  • 厦门市建设工程质量安全协会网站软件培训方案
  • 免费注册网站软件网页制作教程答案
  • 西双版纳建设局网站微信小程序开发注册
  • 网站空间到期怎么办社交媒体营销案例
  • 西安金融网站建设微网站开发需要多少钱
  • 深圳企业建设网站的目的海外域名注册网站
  • 手机网站用什么做优秀设计作品的网站
  • wordpress 网站教程wordpress插件编写