47-复杂字节码文件的分析过程

复杂字节码文件的分析过程

对MyTest2的字节码进行分析。。。(这一节在视频中主要是对常量字节码进行了分析)

按照生成的字节码的顺序,再按照下面的字节码整体结构类型顺序进行分析即可!!!!

  • Java 字节码整体结构

47-复杂字节码文件的分析过程

  • 对于魔数,版本号,常量个数分析是固定的;
  • 对于每个常量的分析需要对照下面的这个表:
    • 先分析U1是几就对应那一种常量类型,然后对应下面的U2、U4、U1取相应的字节长度分析;这个时候也需要通过:javap -verbose -p jvm/bytecode/MyTest2 打开助记符分析~!
      47-复杂字节码文件的分析过程
    • 上面的表中描述了11中数据类型的结果,其实在jdk1.7之后又增加了3种:
      • CONSTANT_MethodHandle_info,CONSTANT_MethodType_info以及CONSTANT_InvokeDynamic_info。这样一共是14种
  • 剩下的按照前面的每一种类型对应下面所拥有的结构进行分析即可。
  • 注意:

当一个类中出现静态变量的时候,就会出现这样一个块,并对静态变量进行初始化!
47-复杂字节码文件的分析过程

上一篇:Linux学习47 高薪技能-Linux进程原理、类型及内核状态


下一篇:《CSS揭秘》-总结47个Css技巧(六):结构与布局