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

广州网站建设易企毕业设计做系统跟做网站哪个容易

广州网站建设易企,毕业设计做系统跟做网站哪个容易,superstore wordpress,wordpress网址跳转本文继续使用上次的Test.class文件#xff0c;它是由下面单独的一个类文件编译而成的#xff0c;没有包。 6. 索引#xff08;Index#xff09; 索引又分类索引、父类索引和接口索引集合#xff0c;类索引#xff08;this_class#xff09;和父类索引#xff08;super…本文继续使用上次的Test.class文件它是由下面单独的一个类文件编译而成的没有包。 6. 索引Index 索引又分类索引、父类索引和接口索引集合类索引this_class和父类索引super_class都是一个u2类型的数据而接口索引集合interfaces是一组u2类型的数据的集合Class文件依靠这些索引数据来确定这个类的继承关系。所有类除了java.lang.Object都只有一个父类索引Java的单继承即父类索引不为0只有java.lang.Object的父类索引为0。接口索引用来描述该类实现了哪些接口它们的出现顺序是按照implements语句后接口的先后顺序出现的如果这个类是一个接口就按照extends后面出现的顺序来。 类索引和父类索引各自指向一个CONSTANT_Class_info的类描述符常量然后通过CONSTANT_Class_info可以定位到一个CONSTANT_Utf8_info类型的常量中的全限名字符串。而接口索引集合则以接口计数器开头和前面常量池类似若计数器表示n则后面紧跟着的n个u2数据是表示该类实现的n个接口的类索引分别指向对应的类描述符常量。 全限名java/lang/Object表示Object类的全限名将类全名中的“.”替换成“/”而已多个全限名之间是“;”分隔。 仍然以我上次的那个Test.class文件为例这里三个u2类型的值分别为Ox0005、Ox0006、Ox0000前两个分别表示的是类索引、父类索引所指向的常量描述符。第三个表示接口集合的个数这里为0即没有实现任何接口。假设为2则表示接下来的2个u2数据表示实现的两个接口每个u2数据也指向的是常量描述符。 7.字段表集合Field Info 字段表field_info用于描述接口或者类中声明的变量。字段包括类级变量以及实例级变量但不包括在方法内部声明的局部变量。字段包含的信息比较多包含以下内容 字段的作用域public、private、protect修饰符变量类型类变量or实例变量static可变性final并发可见性volatile可否序列化transient数据类型基本数据类型、对象、数组字段名称 上面的这些信息除了字段数据类型和字段名称其他都是以布尔值来描述的有就是true且对应一个标志位没有则false这种表示方法和上一节的Access Flags一样。字段数据类型和字段名称是引用的常量池中的常量来描述可能是CONSTANT_Class_info也可能是CONSTANT_Utf8_info。 根据Java语言的语法我们可以知道ACC_PUBLIC、ACC_PRIVATE、ACC_PROTECTED三个标志只能选一个ACC_FINAL、ACC_VOLATILE不能同时存在接口必须有ACC_PUBLIC、ACC_STATIC、ACC_FINAL标志。 描述符 描述符的作用是用来描述字段的数据类型、方法的参数列表数量、类型、顺序和返回值。其中基本数据类型以及void返回值类型都是用一个大写字母来表示的对象的类型由一个L加对象全限名表示。 基本数据类型和普通类型都已经知道怎么表示了但Java中有一个特殊类型就是数组类型它是在编译期产生的它的描述符是在变量描述符前面加一个[如果是二维则加两个[比如[[。例如一个String[][]记录为[[Ljava/lang/String一个int[]记录为[I。 如果是描述一个方法则在描述符前面加一个括号“()”如果有参数则在其中按顺序添加描述符即可。例如一个String toString(char[] c,int a,String[] b)的描述符为“([CI[Ljava.lang.String)Ljava.lang.String”。 这里同样以Test.class文件来验证第一个u2数据是容量技术器fields_count这里是Ox0000说明没有字段表数据看文章开头的java代码确实没有定义任何字段。由于在编译class文件开始没有考虑周全没有定义字段这里容量技术器为0也就看不到后面的字段描述内容这里先假设是Ox0001即有一个字段。第二个u2数据是访问标识符access_flags假设这里是Ox0002说明字段标志为ACC_PRIVATE。第三个u2数据是字段名称name_index假设值为Ox0005指向#5的常量池CONSTANT_Utf8_info字符串。第四个u2数据是字段描述符这里是Ox0007指向#7的常量池字符串。 8. 方法表集合 方法表的描述和字段表集合描述形式一样只需要按照对应的表格对照就可以了。方法表结构依次包含了access_flags访问标志、name_index方法名索引、descriptor_index描述符索引、attribute属性表集合几项。方法内的具体代码存放在属性表集合attribute的名为“Code”的属性里面。 方法表结构表 方法访问标志表 继续以Test.class文件分析容量计数器methods_count的值为Ox0002表示由两个方法疑惑看文章开头的代码只有一个main方法啊为什么会有两个其实字节码中包含了平时省略了的无参构造方法init。 紧跟着的是2个方法描述集合这里以第一个无参构造来解释首先是访问标志access_flags值是Ox0001查表可知是ACC_PUBLIC类型的然后是方法名索引name_index值是Ox0007指向的是常量池CONSTANT_Utf8_info字符串即#7我们查看反编译的代码可以看到#7确实是init。 然后是描述符索引descriptor_index值是Ox0008指向的是常量项#8反编译后看到是()V构造方法无返回值所以用的void的标识字符V但是在书写代码时不能显式加void因为其验证是在编译期。紧接着的是属性表集合的属性计数量attributes_count这里是Ox0001说明只有一个属性即前面说的“Code”属性。 接下来的就是分别表示每一个属性的具体指向这里只有一个当然就只需看一个u2数据这里是Ox0009指向的是常量项#9反编译结果#9确实是Code。 如果方法在子类中没有被重写方法表集合中就不会出现来自父类的信息。 从方法表集合可以看出Class文件对一个方法的特征识别《Java虚拟机规范》称之为特征签名有很多比如方法描述符、访问控制标志、返回值、属性表等。 这里我想起来了之前腾讯一个面试官问我的问题“重载的验证是在哪个阶段”当时我没回答好这个问题看了《深入理解Java虚拟机》这一节的内容才知道对于Java方法的重载是在编译器验证的在Java语义里规定只要方法名、参数内容及顺序相同则视为非法重载而对返回值、修饰符等没有严格要求。而在Class文件里对一个方法的特征签名比编译期的多也就是说如果两个方法有相同的名称和特征签名但返回值不同那么也是可以合法存在于同一个Class文件的。 9.属性表集合 属性表attribute_info存在于Class文件、字段表、方法表等它用于描述某些场合专有的信息。在class文件中对属性表的限定并不是很严格只要不要与已有属性名重复任何不人实现的编译器都可以向属性表中写入自己定义的属性信息虚拟机在运行时会忽略掉它不认识的属性。这一部分内容较多并且不固定建议读者阅读最新的《Java虚拟机规范》或《深入理解Java虚拟机——周志明 著》。 本文是笔者阅读《深入理解Java虚拟机》一书时的简单总结和实践。参考文献《Java虚拟机规范第二版》、《深入理解Java虚拟机》 END
http://wiki.neutronadmin.com/news/338104/

相关文章:

  • 如何让网站长尾关键词有排名17一起做网店网站
  • 定制衣服的软件app优化wordpress
  • 中国最权威的网站排名sem和seo是什么职位
  • 网站及邮件系统建设免费代理网址
  • 百度做的网站 后台管理怎么进入成都公司网站设计
  • 网站适配手机cosy wordpress主题
  • 网站开发 职业环境分析网站制作专业的公司哪家好
  • 公司可以做网站网站模式下做淘宝客
  • 网站看不到排版怎么办dede 建设网站
  • 济宁房地产网站建设给别人做网站收多少钱
  • 建设银行甘肃省行网站wordpress表格显示不了
  • cms如何做中英网站网站建设平台选用
  • 建设网站需要设备响应式网页制作软件
  • 网站开发项目流程书宁夏住房和建设厅网站
  • 天津圣辉友联网站建设套模板网站
  • 中国建设银行网站运营模式用手机制作网站
  • 美橙网站备案照片背景Wordpress会员插件出错
  • 黑龙江省住房和城乡建设网站网站上的幻灯片如何做
  • 吐鲁番市建设局网站广州专业展台制作价格
  • 网站做众筹需哪些条件网站册数
  • 网络营销的网站分类有哪些wordpress怎么上传ppt
  • 石家庄住房和城乡建设厅官方网站杨家平网站建设
  • 在职考研哪个网站做的好网站软件app
  • 重庆网上注册公司网站asp自动获取网站快照 网站缩略图
  • 东莞网站推广模板海南景区网站建设方案
  • 财务记账网站建设需要摊销吗什么公司可以做网站等级保护
  • 门户网站模板 免费如何在网站中加入百度地图
  • 如何学会建网站金融网站模版
  • 加盟网站建设百度和阿里哪个厉害做网站
  • 桐庐建设局网站厦门集团网站建设