
大家好,我是哪吒。
一、Java 字节码
Java字节码(Java bytecode)是Java语言的一种特殊格式,是Java虚拟机(JVM)能够识别和执行的一组指令。Java字节码是Java源代码经过编译器编译后生成的一种二进制代码,它可以被JVM加载、解释和执行。
Java字节码的主要作用是实现了Java语言的跨平台性。由于不同的操作系统和硬件架构的指令集和寄存器等硬件层次结构不同,为了实现Java程序的跨平台性,JVM需要在不同的平台上实现一套统一的指令集和操作数。这些指令和操作数都是以字节为单位表示的,因此称为字节码。
Java字节码是一种中间代码,它不是源代码,也不是机器码。它的优点在于与平台无关,因此可以在任何支持Java虚拟机的平台上运行。同时,由于字节码是经过编译的,因此它的执行速度可以比解释执行Java源代码更快。
Java字节码的文件扩展名为“.class”,可以通过Java反编译器将其转换为可读的Java源代码。在开发Java程序时,我们通常不需要直接编写字节码,而是通过Java编译器将源代码编译为字节码。我们可以通过使用一些工具,如javac命令,来编译Java源代码生成字节码文件。
Java字节码是Java语言实现跨平台性的关键之一,它是Java编译器生成的中间代码,可以被JVM加载、解释和执行。
二、javap
javap 是标准 JDK 内置的一款工具, 专门用于反编译 class 文件,可以用 javap 工具来获取 class 文件中的指令清单。
先建一个最简单的java类:

本文介绍了Java字节码的概念及其在跨平台性中的作用,讲解了javap工具的使用,包括如何查看字节码清单,并通过实例展示了字节码的解读过程,同时解决了使用javap时可能出现的乱码问题。
订阅专栏 解锁全文
1526

被折叠的 条评论
为什么被折叠?



