Method 信息

表示方法数量,本类为 2

0000660 29 56 00 21 00 05 00 06 00 00 00 00 00 02 00 01

一个方法由 访问修饰符,名称,参数描述,方法属性数量,方法属性组成

红色代表访问修饰符(本类中是 public)

蓝色代表引用了常量池 #07 项作为方法名称

绿色代表引用了常量池 #08 项作为方法参数描述

黄色代表方法属性数量,本方法是 1

红色代表方法属性
 
        00 09 表示引用了常量池 #09 项,发现是【Code】属性
        
        00 00 00 2f 表示此属性的长度是 47
        
        00 01 表示【操作数栈】最大深度
        
        00 01 表示【局部变量表】最大槽(slot)数
        
        2a b7 00 01 b1 是字节码指令
        
        00 00 00 02 表示方法细节属性数量,本例是 2
        
        00 0a 表示引用了常量池 #10 项,发现是【LineNumberTable】属性
        
            00 00 00 06 表示此属性的总长度,本例是 6
            
            00 01 表示【LineNumberTable】长度
            
            00 00 表示【字节码】行号 00 04 表示【java 源码】行号
            
        00 0b 表示引用了常量池 #11 项,发现是【LocalVariableTable】属性
        
            00 00 00 0c 表示此属性的总长度,本例是 12
            
            00 01 表示【LocalVariableTable】长度
            
            00 00 表示局部变量生命周期开始,相对于字节码的偏移量
            
            00 05 表示局部变量覆盖的范围长度
            
            00 0c 表示局部变量名称,本例引用了常量池 #12 项,是【this】
            
            00 0d 表示局部变量的类型,本例引用了常量池 #13 项,是【Lcn/itcast/jvm/t5/HelloWorld;】
            
            00 00 表示局部变量占有的槽位(slot)编号,本例是 0
            
0000660 29 56 00 21 00 05 00 06 00 00 00 00 00 02 00 01

0000700 00 07 00 08 00 01 00 09 00 00 00 2f 00 01 00 01

0000720 00 00 00 05 2a b7 00 01 b1 00 00 00 02 00 0a 00

0000740 00 00 06 00 01 00 00 00 04 00 0b 00 00 00 0c 00

0000760 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0

红色代表访问修饰符(本类中是 public static)

蓝色代表引用了常量池 #14 项作为方法名称
    
    绿色代表引用了常量池 #15 项作为方法参数描述
    
    黄色代表方法属性数量,本方法是 2
    
    红色代表方法属性(属性1)
    
        00 09 表示引用了常量池 #09 项,发现是【Code】
        
        00 00 00 37 表示此属性的长度是 55
        
        00 02 表示【操作数栈】最大深度
        
        00 01 表示【局部变量表】最大槽(slot)数
        
        00 00 00 05 表示字节码长度,本例是 9
        
        b2 00 02 12 03 b6 00 04 b1 是字节码指令
        
        00 00 00 02 表示方法细节属性数量,本例是 2
        
        00 0a 表示引用了常量池 #10 项,发现是【LineNumberTable】
        
            00 00 00 0a 表示此属性的总长度,本例是 10
            
            00 02 表示【LineNumberTable】长度
            
            00 00 表示【字节码】行号 00 06 表示【java 源码】行号
            
            00 08 表示【字节码】行号 00 07 表示【java 源码】行号
            
        00 0b 表示引用了常量池 #11 项,发现是【LocalVariableTable】属性
        
            00 00 00 0c 表示此属性的总长度,本例是 12
            
            00 01 表示【LocalVariableTable】长度
            
            00 10 表示局部变量名称,本例引用了常量池 #16 项,是【args】
            
            00 11 表示局部变量的类型,本例引用了常量池 #17 项,是【[Ljava/lang/String;】
            
            00 00 表示局部变量占有的槽位(slot)编号,本例是 0
            
0000760 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00

0001000 0f 00 02 00 09 00 00 00 37 00 02 00 01 00 00 00

0001020 09 b2 00 02 12 03 b6 00 04 b1 00 00 00 02 00 0a

0001040 00 00 00 0a 00 02 00 00 00 06 00 08 00 07 00 0b

0001060 00 00 00 0c 00 01 00 00 00 09 00 10 00 11 00 00

红色代表方法属性(属性2)

红色代表方法属性(属性2)
    
        00 00 00 05 表示此属性的总长度,本例是 5
        
        01 参数数量
        
        00 10 表示引用了常量池 #16 项,是【args】
        
        00 00 访问修饰符
        
0001100 00 12 00 00 00 05 01 00 10 00 00 00 01 00 13 00

0001120 00 00 02 00 14

类文件结构-method-init和类文件结构-method-main相关推荐

  1. 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被

    2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出"方法 metho ...

  2. Java源码:java.lang.reflect反射之AccessibleObject、ReflectionFactory、Filed、Method、Constructor类

    //by yan 20191206 Java的反射机制,它的定义是:程序在运行中时,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性.简单的来说就是 ...

  3. Java反射Filed、Method、Constructor类_02

    文章目录 1. Field类 1.2. Field类常用方法 2. Method类 2.1. Method类常用方法 3. Constructor类 3.1. Constructor类常用方法 4.J ...

  4. Class文件结构介绍[访问标志,类索引,父类索引,接口索引集合]

    访问标志   在常量池结束后,紧接着的两个字节代表访问标志(access_flags),这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口,是否定义为public类型,是否 ...

  5. 面向对象编程(基础)5:类的成员之二:方法(method)

    目录 5.1 方法的引入 5.2 方法(method.函数)的理解 举例1: 举例2: 5.3 如何声明方法 1.声明方法的语法格式 (1)一个完整的方法 = 方法头 + 方法体. (2)方法头可能包 ...

  6. Java反射02--Filed,Method,Constructor类

    Java反射02–Filed,Method,Constructor类 一Filed类常用方法 上一篇已经说过了Field对象的创建,下面回顾下,同时介绍下Filed类的常用方法. 测试类如下: pub ...

  7. python类为什么要初始化_python3类对象需要在init中初始化吗?

    我们都知道类需要借助类对象才能使用,类对象的作用是不可缺少的.那么,在我们使用类对象的时候需要注意哪些细节呢?比如,有的小伙伴想知道init中需要初始化吗?这个问题不知道大家都考虑了没有,小编已经查阅 ...

  8. php元类,iOS中类、元类、isa详解

    本文是来自@FlyOceanFish的投稿 类相信大家都知道是什么,如果看过runtime的源码或者看过相关的文章对isa肯定也不陌生,不过元类(meta class)大家可能就比较陌生了.不过大家也 ...

  9. xxtea 算法的 js 加密处理类,包含 UtfParser 和 Base64 类 ?

    JavaScript 实现 新建 xxtea.js 文件 ES5 写法: /* * xxtea算法的js加密处理类,还包含了UtfParser类,还包含了Base64类 *///Class:Xxtea ...

  10. python类的mod_PY08-06:Python的类扩展

    实际C++的类是很难直接导出为Python的类,这缘于C++在编译的时候有一个过程就是修饰命名.但是在C中导出Python还是可以的,这个就是Python提供的C接口来实现(CPython).这个主题 ...

最新文章

  1. Chrome 74 稳定版发布,Windows 10 支持黑暗模式
  2. Javascript 常用技巧 [2]
  3. tomcat没有错,但是还是一闪而过(端口被占用)
  4. centos 生产 ssh-key
  5. Java使用Openimaj构建视觉词袋模型
  6. 主板定制 如何定制主板这些流程要知道
  7. 熊猫python小课靠谱吗_新的投资风向标在哪里?
  8. 选择与Git进行提交意味着什么?
  9. java swing弹出输入框_JavaSwing文本框输入中文弹出输入窗口
  10. CGAL学习记录——点云密度计算
  11. Nacos 服务注册中心
  12. 如何把字幕文件转换成txt文件或word文档,.ass文件内容怎么提取出来txt文件
  13. flask的一个小项目
  14. CSS强制图像调整大小并保持纵横比
  15. 有什么小号音准测试软件,小号演奏家对小号初学者的一些建议 | 悦趣音乐中心...
  16. iOS开发证书不受信任
  17. 【算法设计与分析】贪心算法:单源最短路径和prim算法的最小生成树
  18. conda安装rdkit包出现的问题
  19. 全球及中国吊臂汽车起重机行业研究及十四五规划分析报告
  20. 并购潮背后 英特尔能否跨域移动成为AI芯片老大

热门文章

  1. C语言中assert()断言函数的概念及用法
  2. Ubuntu 下安装Beyond Compare 安装解决方案
  3. 【JDK源码】java.lang包常用类详解
  4. IT兄弟连 Java语法教程 Java的发展历程
  5. 0301 - 一个比价的小项目
  6. 设计模式-行为型模式-中介者模式
  7. 模板代码复用的三种方式: 宏, 继承, 包含
  8. Dubbo自定义异常message过长解决
  9. sql where子查询5中字句的使用顺序
  10. 旧金山漫记(四):夜困火车站