读懂 Java 字节码(3)

作者: zidea | 来源:发表于2019-04-04 11:05 被阅读20次
java-logo.jpg byte_code_01.JPG

继续向下读取字节码

07 00 16

查表 07 类型为 CONSTANT_class_info 值为两个字节引用
指向全限定名常量项的索引 00 16 转为 22 所以索引值为 22

 #22 = Utf8               com/zidea/test/Demo


07 00 17

07 表示和上一个常量是一样的类型 CONSTANT_class_info 引用值 23 指向

 #23 = Utf8               java/lang/Object


01 00 01 61
  • 01 表示 CONSTANT_utf8_info ,00 01 表示 utf8 编码的字符串长度
  • 61 为字符 a
 #5 = Utf8               a


01 00 01 49
 #6 = Utf8               I

01 00 06 3C 69 6E 69 74 3E

这里读取这段字节码,首先 01 表示 CONSTANT_utf8_info 类型,00 06表示长度,然后向后取 6 个字节 3C 69 6E 69 74 3E为字符 <init>

01 00 03 28 29 30 56
 #8 = Utf8               ()V

01 00 0F 4C 69 6E 65 4E 75 6D 62 65 72 54 61 62 6C 65

01 表示 CONSTANT_utf8_info , 00 0F 表示 15 向后数 15 字符 4C 69 6E 65 4E 75 6D 62 65 72 54 61 62 6C 65 为 LineNumberTable

 #10 = Utf8               LineNumberTable

相关文章

  • 简单读懂 Java 字节码

    读懂字节码有助于更好的理解 Java 编译器的工作原理 Java 字节码(Java bytecode)是 Java...

  • 读懂 Java 字节码(3)

    继续向下读取字节码 查表 07 类型为 CONSTANT_class_info 值为两个字节引用指向全限定名常量...

  • 字节码引用检测原理与实战

    一、字节码与引用检测 1.1 Java字节码 本章中的字节码重点研究Java 字节码,Java字节码(Java b...

  • 读懂 Java 字节码(2)

    要查看 class 的字节码有很多方式,这里我选择自己比较喜欢 vscode 提供插件来查看,下载下图的插件安装后...

  • 读懂 Java 字节码(1)

    在介绍新语言都会对比 java 来讲,以贬低 java 抬高自己方式来介绍语言的一些方便之处。Java 的确存在许...

  • 程序员练级攻略(2018):Java底层知识

    Java 字节码相关 首先,Java 最黑科技的玩法就是字节码编程,也就是动态修改或是动态生成 Java 字节码。...

  • Java并发机制的底层原理

    Java程序执行:Java代码→Java字节码→字节码被类加载器加载到JVM里,JVM执行字节码→转化为汇编指令在...

  • DVM执行 java 程序的工具

    jvm 执行字节码原理:java 程序运行时,是由一个 java 虚拟机来解释 java 字节码的,它将这些字节码...

  • Java字节码

    参考链接:一文让你明白Java字节码 Java字节码 Java虚拟机字节码指令 Java号称是一门“一次编译到处运...

  • Javassist指引(一)

    原文链接 [TOC] 1. 读写字节码 1.1概述 Javassist是一个Java字节码类库。Java的字节码是...

网友评论

    本文标题:读懂 Java 字节码(3)

    本文链接:https://www.haomeiwen.com/subject/tvkfiqtx.html