
Java
Javap属于一种反编译工具,它能够从已编译的.class文件里生成可供阅读的
Java字节码表示形式。不过,这种表示形式仅供阅读与分析,其中所含信息并不足以直接重新编译为.class文件。简言之,
Javap生成的输出主要是为了助力开发者理解代码的运行情况,而非用于修改和编译。要是你想要修改
Java字节码,或许就得考虑使用诸如ASM、Byte Buddy或者
Javassist之类的库了。这些库能够直接对字节码进行操作、修改,并且保存修改后的结果。它们提供了更为直接的方式来插入、修改或者删除类与方法的字节码,适用于高级的字节码操作以及动态生成类。其步骤大致如下:这种方法大多用于像动态生成代理类、框架开发、性能优化等高级功能,这和
Javap的使用目的有很大差别。如果你只是希望查看源码,修改之后再重新编译,建议直接从原始的.
Java源文件入手修改。要是源文件无法获取,可能就要考虑使用
Java反编译器,例如JD - GUI或者Procyon,这些工具能够尽可能地还原出接近原始
Java源代码的代码,然后就可以对
Java源代码进行编辑和重新编译了。