javap is the tool provided by the java language which was bundled with JDK software.
javap
tool is located in the JAVA\_HOME\\bin
location which is used by many Java developers to find the member variables and methods
for any Java object.
It also has an option to provide byte code of a java class
Syntax
javap Options Classes
Classes
: single or multiple classes with the complete package name, for example, java.lang.Object instead of Object.
Options
: there are command-line options to control configurations.
Options
Options | Description |
---|---|
-help | command line usage information |
-v | version information |
-public | Displays only public class and members |
-protected | Displays only public and protected class and members |
-package | Displays all class and members in a package |
-constants | Displays constants |
-classpath | path to find the classes |
-sysinfo | Displays information like size, date, and hash |
Here is an javap command
output for java.util.List

We can also use -c
options with the javap command to compile the source code and display the information about the object
Javap command example
Here is an example of javap command
result for 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 {};
}