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

分析网站的关键词wordpress 域名米表

分析网站的关键词,wordpress 域名米表,wordpress创意博客主题,网站项目在哪接版权声明#xff1a;本文为博主原创文章#xff0c;遵循 CC 4.0 BY-SA 版权协议#xff0c;转载请附上原文出处链接和本声明。 本文链接#xff1a;https://blog.csdn.net/m0_37609579/article/details/99355842 从这一节开始#xff0c;我们就要正式进去数据结构的世界了… 版权声明本文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。 本文链接https://blog.csdn.net/m0_37609579/article/details/99355842 从这一节开始我们就要正式进去数据结构的世界了那么第一个是什么呢就是我们的数组。 在我想写数组的时候我的第一印象是去看它的源码很可惜数组的实现太特殊了找了很久我没有找到它的源码带着这样的思考我就开始了Java中数组的挖掘。Wow真香 一、Java中数组的介绍 数组是一种最简单的复合数据类型它是有序数据的集合数组中的每个元素具有相同的数据类型可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度可以将其分为一维数组、二维数组和多维数组等。一定要注意数组只能存放同一种数据类型(Object类型数组除外)。 二、数组是一个引用类型吗 先给答案是的没有任何疑问。 注意数组也是一种数据类型它本身是一种引用类型。 数组是一种大小固定的数据结构对线性表的所有操作都可以通过数组来实现。虽然数组一旦创建之后它的大小就无法改变了但是当数组不能再存储线性表中的新元素时我们可以创建一个新的大的数组来替换当前数组。这样就可以使用数组实现动态的数据结构。 如何验证 定义一个数组发现它拥有Object类的所有方法。 根据这个例子其实大家已经看出来了数组拥有超类Object的所有方法说明他也是一个类。并且他拥有自己的clone()方法和length属性。 三、如何了解数组的底层实现 既然数组拥有Object的所有方法那我们是否能查看一下数组的源码来了解一下数组的实现呢 可惜数组太特殊了他的实现是虚拟机编译的时候动态生成的所以我们无法直接查看源码只能通过查看编译后的class的字节码一探究竟。 JVM 中数组对象是一种特殊的对象虚拟机从数组的元数据中无法确认数组的大小它的Object Header 比普通对象多了一个word 来存储数组的长度length 会编译成对应的字节码读取这个field 就可以了。 我分别定义基本数据类型和引用类型来查看一下最终生成的字节码有何区别。 public void test08(){Object[] o new String[11];o[0]1aaa;int io.length;Integer[] anew Integer[11];a[0]100;int ja.length;int[] bnew int[11];b[0]100;int kb.length;} 注意定义并初始化一个数组后在内存中分配了两个空间一个用于存放数组的引用变量另一个用于存放数组本身。 进行程序开发时要深入底层的运行机制。 看待一个数组时一定要把数组看成两个部分一部分是数组引用也就是在代码中定义的数组引用变量还有一部分是实际的数组对象这部分是在对内存里运行的通常无法直接访问它只能通过数组引用变量来访问。 四、Array 的 length 域相关 在很多的资料中都写了Array中有类似public final int length的成员变量。但是在《Java Language Specifications》10.1. Array Types中明确写了length不是类型的一部分 An arrays length is not part of its type. 0 bipush 112 anewarray #12 java/lang/String //anewarray代表对象数组5 astore_16 aload_17 iconst_08 ldc #25 1aaa 10 aastore 11 aload_1 12 arraylength //arraylength代表长度 13 istore_2 14 bipush 11 16 anewarray #26 java/lang/Integer //anewarray代表包装类数组 19 astore_3 20 aload_3 21 iconst_0 22 bipush 100 24 invokestatic #27 java/lang/Integer.valueOf 27 aastore 28 aload_3 29 arraylength 30 istore 4 32 bipush 11 34 newarray 10 (int) //newarray代表基本数组类型数组 36 astore 5 38 aload 5 40 iconst_0 41 bipush 100 43 iastore 44 aload 5 46 arraylength 47 istore 6 49 return 打印20java.lang.NoSuchFieldException: length 可以看到length并不是Array的成员变量。 五、Java语言规范关于Array的定义 数组在Java里是一种特殊类型有别于普通的“类的实例”的对象。10.1. Array Types10.8. Class Objects for Arrays Every array has an associated Class object, shared with all other arrays with the same component type.Although an array type is not a class, the Class object of every array acts as if:The direct superclass of every array type is Object.Every array type implements the interfaces Cloneable and java.io.Serializable. 数组类型是由JVM从元素类型合成出来的。10.7. Array Members The members of an array type are all of the following:The public final field length, which contains the number of components of the array. length may be positive or zero. 从Java语言到Class文件Java源码编译器会识别出对数组类型的length字段的访问并生成对应的字节码。以OpenJDK8的javac为例jdk8u/jdk8u/langtools: 84eb51777733 src/share/classes/com/sun/tools/javac/jvm/Gen.javabase.load(); if (sym syms.lengthVar) {code.emitop0(arraylength);result items.makeStackItem(syms.intType); } 六、数据应用场景 这种数据结构使用一段连续的空间来存贮元素所以可以直接通过索引来获取到某个元素而且可以通过对元素的内容进行排序然后使用二分法查找从而提供查找效率。其适合的场合主要是不会频繁增删元素的场合因为增删元素都牵涉到元素空间的重新分配频繁的内存分配操作会大幅降低操作效率。但添加操作时可以通过预分配足够的空间来优化添加时的效率。属于随机迭代器可以随机访问任意元素。对于已排序的元素查找起来效率较高。 七、数组总结 在看数组的时候因为class是动态创建的所以看了很久但是根据数组的特性基本可以认为数组的域和方法类似于class AT implements Cloneable, java.io.Serializable { public final int length X; public T[] clone() { try { return (T[]) super.clone();} catch (CloneNotSupportedException e) { throw new InternalError(e.getMessage());}} } 数组可以是一维数组、二维数组或多维数组。数值数组元素的默认值为 0而引用元素的默认值为 null。交错数组是数组的数组因此它的元素是引用类型初始化为 null。交错数组元素的维度和大小可以不同。数组的索引从 0 开始如果数组有 n 个元素那么数组的索引是从 0 到n-1。数组元素可以是任何类型包括数组类型。数组类型是从抽象基类 Array 派生的引用类型。 我的微信公众号架构真经idgentoo666分享Java干货高并发编程热门技术教程微服务及分布式技术架构设计区块链技术人工智能大数据Java面试题以及前沿热门资讯等。每日更新哦 参考文章https://www.cnblogs.com/ysocean/p/7894448.htmlhttps://www.runoob.com/java/java-array.htmlhttps://chaxiaoniu.oschina.io/2017/08/07/JavaArrayOfDataStructure/https://blog.csdn.net/weixin_40617102/article/details/90264102https://www.zhihu.com/question/29649110http://c.biancheng.net/view/906.htmlhttps://blog.51cto.com/14028890/2384977
http://www.zqtcl.cn/news/723725/

相关文章:

  • 发布程序后网站有很多促销策略
  • 网页网站项目综合网站建设合同.doc
  • 网站建设公司黄页企业vi系统设计公司
  • 建设局网站新闻昆明个人网站建设平台
  • 清远市建设工程交易中心网站网站打开慢什么原因呢
  • 网站网址没有被百度收录做网站ddos攻击
  • 网站网站设计公司深圳建设工程交易服务网网址
  • 自学编程网站棋牌游戏在哪做网站
  • html做分页的网站以图搜图百度识图
  • 上虞区建设局网站网站建设好公司好
  • 一半都有哪些做影视外包的网站收录网站查询
  • 网站策划书撰写流程网站推广基本方法是
  • 杭州网站建设费用多少写一篇软文推广自己的学校
  • 意大利设计网站易优cms破解授权
  • 学校网站开发工程师wordpress手机博客
  • 注册网站验证码网站开发招聘需要
  • 一个销售网站的设计方案重庆广告制作加工厂
  • 宽带固定ip的怎么做网站服务器网站设计说明书整合
  • 织梦装修公司网站模板wordpress主题代码编辑教程
  • 外边做一个网站要多少钱关键词的选取原则
  • 做网站需要备案吗wordpress会员邮件通知
  • 如何在百度创建网站欧宇公司网络建设方案
  • 网站网页设计基本理论视频模板套用免费
  • 外贸人常用的网站伪静态网站
  • 优质的聊城做网站网站建设论文 网站建设论文
  • 网站开发毕设的需求分析设计网站推荐
  • 武夷山景区网站建设优点网站建设服务合同要交印花税吗
  • 电子商务网站建设行情seo推广软件品牌
  • 荆州市住房和城乡建设厅官方网站网站开发加维护需要多少钱
  • 手机网站 cms宁波网站建设团队排名