Java常用命令之javap

javap

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

用法:javap

选项:

-version:版本信息

-v:输出附加信息

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

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

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

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

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

-c:对代码进行反汇编

-s:输出内部类型签名

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

-constants:显示最终常量

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

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

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

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

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

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

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

这里不介绍Java字节码指令了,否则篇幅太长,容易让人犯困。具体Java字节码科参考此篇文字:https://www.cnblogs.com/longjee/p/8675771.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Linux 系统中,你可以使用以下常规命令来操作和管理 Java 程序: 1. `java`:用于执行 Java 程序。例如,`java HelloWorld` 将执行名为 HelloWorld 的 Java 类。 2. `javac`:用于编译 Java 源代码文件。例如,`javac HelloWorld.java` 将编译名为 HelloWorld.java 的文件。 3. `jar`:用于创建和管理 Java 归档文件(JAR 文件)。例如,`jar cf myapp.jar *.class` 将创建一个名为 myapp.jar 的 JAR 文件。 4. `javadoc`:用于生成 Java 代码的 API 文档。例如,`javadoc MyLibrary.java` 将生成 MyLibrary 类的文档。 5. `javap`:用于反编译已编译的 Java 类文件,以查看类的详细信息。例如,`javap -c MyLibrary` 将显示 MyLibrary 类的字节码信息。 此外,还有一些与 Java 开发相关的常规 Linux 命令: 1. `cd`:用于更改当前工作目录。例如,`cd /path/to/project` 将切换到指定路径下的项目目录。 2. `ls`:用于列出当前目录中的文件和子目录。例如,`ls -l` 将以详细列表形式显示文件和目录。 3. `mkdir`:用于创建新的目录。例如,`mkdir myproject` 将创建一个名为 myproject 的新目录。 4. `rm`:用于删除文件或目录。例如,`rm myfile.txt` 将删除名为 myfile.txt 的文件。 5. `grep`:用于在文件中搜索指定的文本模式。例如,`grep "keyword" myfile.txt` 将搜索名为 myfile.txt 的文件中包含 "keyword" 的行。 这只是一些常见的 Java 和 Linux 命令示例,还有许多其他命令和选项可用于不同的操作和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值