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

青海网站建设公司哪家好济南竞价托管公司

青海网站建设公司哪家好,济南竞价托管公司,开发一款游戏,汽车网站建设页面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.hrbkazy.com/news/19362.html

相关文章:

  • 网站建设售后完善抖音引流推广一个30元
  • 网页视觉设计流程seo学校培训
  • 如何在百度做网站网络开发
  • 营销型品牌网站建设某网站搜索引擎优化
  • dw网页制作教程练习搜索引擎优化seo优惠
  • 网站建设模板百度一下你就知道官网下载安装
  • 焦作网站建设哪家正规企业推广是什么职业
  • 八宝山做网站的公司seo推广要多少钱
  • 武进网站建设机构创意营销点子
  • 关于做网站的总结seo排名影响因素主要有
  • 用jquery做的网站58精准推广点击器
  • 可以做别人的网站上挂一个网页吗手机怎么自己制作网页
  • 咋样做网站视频企业网络营销策略案例
  • 福州官网建站厂北京优化seo
  • 做本地网站网店如何营销推广
  • 如何修改网站备案号网络营销常见术语
  • 有哪个网站教人做美食网站优化检测工具
  • 做网站很赚钱百度关键词工具入口
  • 重庆科技建设seo搜索引擎优化排名报价
  • 网站域名解析后多久能生效小红书网络营销策划方案
  • 网站文案优化深圳推广公司介绍
  • 优惠券网站怎么做的seo网站排名助手
  • 临沂网站关键词网络广告
  • 做网站开发用什么软件企业推广是什么意思
  • 对网站建设公司说免费seo推广计划
  • 国家外汇管理局网站怎么做报告网页优化
  • 自动优化网站建设搜索引擎有哪些网站
  • 股票开户武汉seo人才
  • 个人域名可以做企业网站吗网站权重是什么意思
  • 监利网站建设竞价排名服务