javap是由java语言提供的工具,与JDK软件捆绑在一起。javap ,该工具位于JAVA\_HOME\\bin ,许多Java开发者使用它来查找任何Java对象的成员变量和methods 。
它也有一个选项,提供了一个Java类的字节码。
语法
Classes语法:单个或多个带有完整包名的类,例如,java.lang.Object而不是Object。
Options命令行:有命令行选项来控制配置。
选项
| 选项 | 说明 |
|---|---|
| -帮助 | 命令行的使用信息 |
| -v | 版本信息 |
| -public | 只显示公共类和成员 |
| -受保护的 | 只显示公共和受保护的类和成员 |
| -包 | 显示一个包中的所有类和成员 |
| -常量 | 显示常量 |
| -类路径 | 找到类的路径 |
| -sysinfo | 显示诸如大小、日期和哈希值等信息 |
我们也可以在javap命令中使用-c选项来编译源代码并显示对象的信息
Javap命令的例子
下面是一个javap command、java.lang.Object 结果的例子:
B:\javaproject>javap java.lang.Object
Compiled from "Object.java"
public class java.lang.Object {
public java.lang.Object();
public final native java.lang.Class getClass();
public native int hashCode();
public boolean equals(java.lang.Object);
protected native java.lang.Object clone() throws java.lang.CloneNotSupportedException;
public java.lang.String toString();
public final native void notify();
public final native void notifyAll();
public final native void wait(long) throws java.lang.InterruptedException;
public final void wait(long, int) throws java.lang.InterruptedException;
public final void wait() throws java.lang.InterruptedException;
protected void finalize() throws java.lang.Throwable;
static {};
}