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

兰州网站建设哪里好南山网站设计训

兰州网站建设哪里好,南山网站设计训,搜索引擎优化策略,网站域名怎么登陆文/朱季谦 这是我很多年前的第一篇技术博客#xff0c;当时作为一名技术小菜鸟#xff0c;总体而言显得很拙见#xff0c;但也算是成长路上的一个小脚印#xff0c;希望能在以后的日子里#xff0c;可以对JAVA技术有一个更加深入的思考与认识。 前几天我在逛论坛的时候当时作为一名技术小菜鸟总体而言显得很拙见但也算是成长路上的一个小脚印希望能在以后的日子里可以对JAVA技术有一个更加深入的思考与认识。 前几天我在逛论坛的时候偶然看到有人讨论这样一个现象定义四个Integer类型的变量分别初始化赋值为a100b100c1000,d1000然后用println分别打印输出ab和cd的boolean值。这时就会出现一个很有趣的现象ab会被判断为ture而cd被判断为false。我觉得这个问题有点意思就自己在eclipse上玩了一遍运行截图如下 问题便来了同样类型的数值为何ab是正确的而cd则被判断为错误。在我们现实生活中人们总说要透过现象去看本质但若能反过来通过本质来分析现象我想同样可以深入理解很多东西。就像你能读懂一个人就会很容易理解这个人的所作所为。打一个比方你要弄懂一个人为何要犯罪首先得了解他做这件事的心理这就是通过本质回过头去看现象。 这道题如果能通过本质来看现象就会茅塞顿开。 Integer的本质是什么当然是它的源码咯。 在我们定义Integer a100时编译器会转成Integer.valueOf(100)即内部实现是Integer  a Integer.valueOf(100)而在Integer的源码里valueOf方法如下 public static Integer valueOf(int i) {if (i IntegerCache.low i IntegerCache.high)return IntegerCache.cache[i (-IntegerCache.low)];return new Integer(i);} 通过Integer的内部代码可以看到有一个范围即IntegerCache.low和IntegerCache.high。通常情况两者默认初始化为IntegerCache.high127IntegerCache.low-128同时Integer内部还有一个静态static代码块它会在类被加载时被执行该代码块如下 static {int h 127;String integerCacheHighPropValue sun.misc.VM.getSavedProperty(java.lang.Integer.IntegerCache.high);if (integerCacheHighPropValue ! null) {try {int i parseInt(integerCacheHighPropValue);i Math.max(i, 127);h Math.min(i, Integer.MAX_VALUE - (-low) -1);} catch( NumberFormatException nfe) {}}high h;cache new Integer[(high - low) 1];int j low;for(int k 0; k cache.length; k)cache[k] new Integer(j);// range [-128, 127] must be interned (JLS7 5.1.7)assert IntegerCache.high 127;} 在执行该静态代码块时会新建一个数组cache把-128到127的数字都放在这里面。再结合前面的valueOf方法可以看出如果赋值的参数在127个-128之间就会直接从静态代码块的缓存中返回一个实际数它们都属于同一个对象如果超过这个范围就会return new Integer(i)即返回一个新建且不同的对象值。 分析完Integer的部分源码后就可以知道前面问题为何会出现这样的现象了。当a,b赋值为100时两者都在127~-128的范围间在同一个缓冲中属于同一个对象且数值相同那样ab即为true而当cd赋值为1000时就超过了范围就会创建新的对象两个引用指向不同的对象即使对象拥有相同的内容用比较结果依然是false这样的话cd已不属于同一个对象了自然就会为false。
http://www.zqtcl.cn/news/10049/

相关文章:

  • 欧美网站模板下载网站建设及安全管理
  • 聊城网站优化网络推广肇庆做网站的公司
  • 帮人做非法网站公司企业网络宣传设计方案
  • 厦门专业网站建设平台做网站找俊义 合优
  • 学做网站论坛自定义网站主页设计
  • 建设服装网站响应式网站的尺寸
  • 为什么要进行网站备案 天堂资源地址在线
  • mvc 网站路径标书制作教程
  • 网站建设实例分析wordpress更改主机
  • 网站开发和运行模式的搭建如何加强旅游电子商务网站的建设
  • wordpress调用tag合肥seo招聘
  • 网站后台任务东莞网站建设行业翘楚
  • html5网站尺寸买手表去哪个网站买是正品的
  • 淄博周村网站建设方案安卓市场下载app
  • 用html做的游戏网站wordpress 电影解析
  • 做外语网站的公司西宁网站优化
  • 网站项目计划书模板范文做特卖的网站
  • 江门网站建设外包做国学类网站合法吗
  • 企业官网推广方案网站设计O2O平台优化
  • 网站域名怎么写ie浏览器在线使用
  • 东莞市人才招聘网官网宁波seo关键词
  • 网站开发质量屋4435建站
  • 手机小游戏网站大全扬州市邗江区城乡建设局网站
  • 做期货要看哪些网站酒泉建设局造价官网站
  • 哈尔滨品牌网站建设上海市建设考核中心网站
  • 用明星名字做网站网站推广计划书范文
  • 重新安wordpress网站机顶盒视频网站建设
  • 电商网站成本大型网站开发php框架
  • 手表网站免费设计企业管理软件公司排名
  • 如何对网站页面进行优化视频号认证需要多少钱