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

网站建设与管理试题一科技公司网站主页设计

网站建设与管理试题一,科技公司网站主页设计,手机网站建站教育模板,企业网站建设需要哪些软件Java 中的基本数据类型 Java 中有 8 种基本数据类型#xff0c;分别为#xff1a; 6 种数字类型#xff1a; 4 种整数型#xff1a;byte、short、int、long2 种浮点型#xff1a;float、double 1 种字符类型#xff1a;char1 种布尔型#xff1a;boolean。 这 8 种基本…Java 中的基本数据类型 Java 中有 8 种基本数据类型分别为 6 种数字类型 4 种整数型byte、short、int、long2 种浮点型float、double 1 种字符类型char1 种布尔型boolean。 这 8 种基本数据类型的默认值以及所占空间的大小如下 对于 boolean官方文档未明确定义它依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位但是实际中会考虑计算机高效存储因素。 另外Java 的每种基本类型所占存储空间的大小不会像其他大多数语言那样随机器硬件架构的变化而变化。这种所占存储空间大小的不变性是 Java 程序比用其他大多数语言编写的程序更具可移植性的原因之一《Java 编程思想》2.2 节有提到。 注意 Java 里使用 - 类型的数据一定要在数值后面加上 L否则将作为整型解析。char a hchar :单引号String a hello :双引号。 这八种基本类型都有对应的包装类分别为Byte、Short、Integer、Long、Float、Double、Character、Boolean 。 包装类型不赋值就是 Null 而基本类型有默认值且不是 Null。 另外这个问题建议还可以先从 JVM 层面来分析。 基本数据类型直接存放在 Java 虚拟机栈中的局部变量表中而包装类型属于对象类型对象实例都存在于堆中。相比于对象类型 基本数据类型占用的空间非常小。 《深入理解 Java 虚拟机》 局部变量表主要存放了编译期可知的基本数据类型 boolean、byte、char、short、int、float、long、double、对象引用reference 类型它不同于对象本身可能是一个指向对象起始地址的引用指针也可能是指向一个代表对象的句柄或其他与此对象相关的位置。 包装类型的常量池技术 Java 基本类型的包装类的大部分都实现了常量池技术。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128127] 的相应类型的缓存数据Character 创建了数值在 [0,127] 范围的缓存数据Boolean 直接返回Trueor False。 Integer 缓存源码 public static Integer valueOf(int i) {if (i IntegerCache.low i IntegerCache.high)return IntegerCache.cache[i (-IntegerCache.low)];return new Integer(i); } private static class IntegerCache {static final int low -128;static final int high;static {// high value may be configured by propertyint h 127;} }Character 缓存源码: public static Character valueOf(char c) {if (c 127) { // must cachereturn CharacterCache.cache[(int)c];}return new Character(c); }private static class CharacterCache {private CharacterCache(){}static final Character cache[] new Character[127 1];static {for (int i 0; i cache.length; i)cache[i] new Character((char)i);}}Boolean 缓存源码 public static Boolean valueOf(boolean b) {return (b ? TRUE : FALSE); }如果超出对应范围仍然会去创建新的对象缓存的范围区间的大小只是在性能和资源之间的权衡。 两种浮点数类型的包装类 FloatDouble 并没有实现常量池技术。 Integer i1 33; Integer i2 33; System.out.println(i1 i2);// 输出 trueFloat i11 333f; Float i22 333f; System.out.println(i11 i22);// 输出 falseDouble i3 1.2; Double i4 1.2; System.out.println(i3 i4);// 输出 false下面来看一下问题。下面的代码的输出结果是 true 还是 false 呢 Integer i1 40; Integer i2 new Integer(40); System.out.println(i1i2);Integer i140 这一行代码会发生装箱也就是说这行代码等价于 Integer i1Integer.valueOf(40) 。因此i1 直接使用的是常量池中的对象。而Integer i2 new Integer(40) 会直接创建新的对象。 因此答案是 false 。 记住所有整型包装类对象之间值的比较全部使用 equals 方法比较。 自动装箱与拆箱原理 什么是自动拆装箱 装箱将基本类型用它们对应的引用类型包装起来拆箱将包装类型转换为基本数据类型 举例 Integer i 10; //装箱 int n i; //拆箱上面这两行代码对应的字节码为 L1LINENUMBER 8 L1ALOAD 0BIPUSH 10INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;PUTFIELD AutoBoxTest.i : Ljava/lang/Integer;L2LINENUMBER 9 L2ALOAD 0ALOAD 0GETFIELD AutoBoxTest.i : Ljava/lang/Integer;INVOKEVIRTUAL java/lang/Integer.intValue ()IPUTFIELD AutoBoxTest.n : IRETURN从字节码中可以发现装箱其实就是调用了 包装类的valueOf()方法拆箱其实就是调用了 xxxValue()方法。 因此 Integer i 10 等价于 Integer i Integer.valueOf(10)int n i 等价于 int n i.intValue() 注意如果频繁拆装箱的话也会严重影响系统的性能。应该尽量避免不必要的拆装箱操作。
http://www.hkea.cn/news/14272057/

相关文章:

  • 导航网站设计方案网站注册账号
  • 平台网站怎么优化建设银行预约纪念钞网站
  • 做茶叶网站深圳做棋牌网站建设有哪些公司
  • 网站建设续约合同门户网站的首页模板
  • 网站推广工具网络app开发定制专家公司
  • 个人网站logo需要备案吗营销型网站建设哪里济南兴田德润优惠吗
  • 深圳市罗湖区住房和建设局网站3g手机网站源码
  • 网站漂浮图片公司做英文网站
  • 湖州网站建设有哪些网页制作实践 做网站
  • 宁夏交通厅建设局网站免费做英语卷子的网站
  • 江苏宏澄建设有限公司网站网页设计期末作品源代码
  • 做趣味图形的网站中文html网站模板下载
  • 上海网站公司设计怎么查找网站备案主体
  • 网站备案 核验单网站怎么设置支付
  • 塘沽网站优化海外网站建设推广最好的
  • 福建省文明建设办公室网站seo推广培训
  • 响应式的网站建设一个多少钱建设外贸型网站
  • 成品网站管理系统WordPress网络功能
  • 英文网站建设 淮安国外网站网站app
  • 网站建设基本步骤包括哪些flash怎么做网页
  • 建网页和网站的区别wordpress 快速安装
  • 谁做的四虎网站是多少钱邢台集团网站建设费用
  • 合肥做装修哪个网站好天津市津南区教育网站建设招标
  • 品牌网站建设收费情况深圳深圳建设网站
  • 派点网站建设重庆电力建设公司网站
  • 山西住房建设部网站西部数码网站管理助手 301
  • 做公司网站哪家 上海wordpress修改社交
  • 网站建设开票开什么内容小程序怎么开通
  • 怎么自己开发网站企业如何申请网站
  • 网站功能模块是什么百度广告管家