gpt4 book ai didi

java - javap -c 对类文件做了什么?

转载 作者:行者123 更新时间:2023-12-04 08:54:54 25 4
gpt4 key购买 nike

实际上,这个问题有点广泛。我知道 javac 将 java 文件编译成字节码,一个类文件。所以,类文件应该包含 jvm 指令等等。另一方面,查看这些指令的唯一方法是使用 javap -c 反编译类文件。但它不是反编译,对吧?因为反编译的话,会产生java文件。所以,我的猜测是 javac 编译 java 文件 2 次(这实际上不是真的,但为了简单起见我们假设),首先是 jvm 指令,然后是字节码,所以 javap -c 从字节码反编译为 jvm 指令。 JVM 应该理解字节码,因此它无法理解指令。我在这里有点困惑。有人可以解释这里发生了什么吗?

最佳答案

Javap 不会反编译字节码,它反汇编它。为了解释差异,我们可以换个说法:编译是将人类可读代码翻译成字节码,而汇编是将汇编指令翻译成字节码。

关于java - javap -c 对类文件做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11665730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com