05 2018 档案

摘要:一、概念 虽然类实例和数组都是对象,但 Java 虚拟机对类实例和数组的创建与操作使用了不同的字节码指令: 创建类实例的指令:new 创建数组的指令:newarray,anewarray,multianewarray 访问类字段(static 字段,或者称为类变量)和实例字段(非 static 字段 阅读全文
posted @ 2018-05-21 21:01 shyroke、 阅读(234) 评论(0) 推荐(0) 编辑
摘要:一、概念 类型转换指令可以将两种 Java 虚拟机数值类型进行相互转换,这些转换操作一般用于实现用户代码的显式类型转换操作,或者用来处理 Java 虚拟机字节码指令集中指令非完全独立独立的问题。 Java 虚拟机直接支持(译者注:“直接支持”意味着转换时无需显式的转换指令)以下数值的宽化类型转换(W 阅读全文
posted @ 2018-05-21 17:05 shyroke、 阅读(347) 评论(0) 推荐(0) 编辑
摘要:一、概念 算术指令用于对两个操作数栈上的值进行某种特定运算,并把结果重新存入到操作栈顶。大体上运算指令可以分为两种:对整型数据进行运算的指令与对浮点型数据进行运算的指令,无论是那种算术指令,都是使用 Java 虚拟机的数字类型的。数据没有直接支持 byte、short、char 和boolean 类 阅读全文
posted @ 2018-05-21 15:44 shyroke、 阅读(336) 评论(0) 推荐(0) 编辑
摘要:一、概念 加载和存储指令用于将数据在栈帧中的局部变量表和操作数栈之间来回传输,这类指令包括如下内容。 将一个局部变量加载到操作栈: iload、iload_<n>、lload、lload_<n>、fload、fload_<n>、dload、dload_<n>、aload、aload_<n>。 将一个 阅读全文
posted @ 2018-05-20 23:58 shyroke、 阅读(471) 评论(0) 推荐(0) 编辑
摘要:一、概念 上一章节讲述了方法表,方法体的内容就存放在属性表的“Code”中,如下图。 在Class文件、字段表和方法表都可以携带自己的属性信息,这个信息用属性表进行描述,用于描述某些场景专有的信息。 与Class文件中其它数据项对长度、顺序、格式的严格要求不同,属性表集合不要求其中包含的属性表具有严 阅读全文
posted @ 2018-05-19 23:17 shyroke、 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-05-19 22:38 shyroke、 阅读(259) 评论(0) 推荐(0) 编辑
摘要:方法表集合 前面的魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引,接口索引集合,字段表集合,那么再接下来就是方法表了. 方法表的构造如同字段表一样,依次包括了访问标志(access_flags),名称索引(name_index),描述符索引(descriptor_index 阅读全文
posted @ 2018-05-19 01:11 shyroke、 阅读(294) 评论(0) 推荐(0) 编辑
摘要:一、概念 类索引之后便是字段表集合,如下标,紧跟类索引之后的是fields_count(字段数量)和fileds字段表,各占两个字节。 二、案例 编写一个类,该类有多个字段。如下代码: 编译后,打开字节码文件如下图: 由上图可知,fields_count(字段数量)=0x0004 = 4 表示该类有 阅读全文
posted @ 2018-05-13 14:54 shyroke、 阅读(621) 评论(0) 推荐(0) 编辑
摘要:一、概念 上一章节讲到了访问标志,如下表可知访问标志之后是this_class(这个类)和super_class(父类)和interfaces_count(继承接口的数量)和interfaces(继承的接口),各占2个字节。 二、例子 编写一个类,继承一个类,并实现了多个接口,如下 用javac编译 阅读全文
posted @ 2018-05-13 14:33 shyroke、 阅读(459) 评论(0) 推荐(0) 编辑
摘要:一、概念 上一章节讲到了常量池,如下图,常量池之后便是访问标志acess_flags,占2个字节(u2)。 二、例子 编写一个接口。 编译之后,用javap命令行打开,可看到访问标志Access_flags。 如上面橙色标记,可知访问标志值为:flags: ACC_PUBLIC, ACC_INTER 阅读全文
posted @ 2018-05-13 13:43 shyroke、 阅读(849) 评论(0) 推荐(0) 编辑

作者:shyroke 博客地址:http://www.cnblogs.com/shyroke/ 转载注明来源~
点击右上角即可分享
微信分享提示