您的位置 首页 java

Java常用命令之javap

Java p

作用: 反编译 Java代码,查看Java字节码

用法: javap <options> <classes>

选项:

-version:版本信息

-v:输出附加信息

-l:输出行号和本地变量表

-public:仅显示公共类和成员

-protected:显示受保护的/公共类和成员

-package:显示程序包/受保护的/公共类和成员 (默认)

-p或-private:显示所有类和成员

-c:对代码进行 反汇编

-s:输出内部类型签名

-sysinfo:显示正在处理的类的系统信息 (路径, 大小, 日期, MD5 散列)

-constants:显示最终常量

-classpath <path>:指定查找用户类文件的位置

-cp <path>:指定查找用户类文件的位置

-bootclasspath <path>:覆盖引导类文件的位置

除此之外,目前有很多的反编译工具可以用,来查看Java编译后的代码。如下:

JD-GUI: 一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。而且提供了 Eclipse 平台下的插件JD-Eclipse、 IntelliJ 的插件JD-IntelliJ。JD-GUI不需要安装,直接点击运行,可以反编译 jar , class文件 。下载地址:

procyon-decompiler: 支持JDK1.8类的反编译,在很多方面做得非常不错,包括 字符串 的Switch、枚举声明方面、注解方面、匿名类、内部类、Java8新接口规范、Java8 Lambda表达式、Java8 方法传递。另外它在反编译后输出多种类型的结果,如Java 源码 、原始 字节码 、字节码AST(抽象语法树)。下载地址:

那么为什么还要使用javap呢。其实无论是反编译工具,还是javap命令,意在让开发人员更加理解Java代码的语法糖以及Java代码在 JVM 中的执行过程。

这里不介绍Java字节码指令了,否则篇幅太长,容易让人犯困。具体Java字节码科参考此篇文字:

文章来源:智云一二三科技

文章标题:Java常用命令之javap

文章地址:https://www.zhihuclub.com/180117.shtml

关于作者: 智云科技

热门文章

网站地图