| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- '\" t
- .\" Copyright (c) 1994, 2014, Oracle and/or its affiliates. All rights reserved.
- .\"
- .\" Title: javap
- .\" Language: English
- .\" Date: 8 August 2014
- .\" SectDesc: Basic Tools
- .\" Software: JDK 8
- .\" Arch: generic
- .\" Part Number: E38209-03
- .\"
- .if n .pl 99999
- .TH "javap" "1" "8 August 2014" "JDK 8" "Basic Tools"
- .\" -----------------------------------------------------------------
- .\" * Define some portability stuff
- .\" -----------------------------------------------------------------
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .\" http://bugs.debian.org/507673
- .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\" -----------------------------------------------------------------
- .\" * set default formatting
- .\" -----------------------------------------------------------------
- .\" disable hyphenation
- .nh
- .\" disable justification (adjust text to left margin only)
- .ad l
- .\" -----------------------------------------------------------------
- .\" * MAIN CONTENT STARTS HERE *
- .\" -----------------------------------------------------------------
- .SH "NAME"
- javap \- Disassembles one or more class files\&.
- .SH "SYNOPSIS"
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- \fBjavap\fR [\fIoptions\fR] \fIclassfile\fR\&.\&.\&.
- .fi
- .if n \{\
- .RE
- .\}
- .PP
- \fIoptions\fR
- .RS 4
- The command\-line options\&. See Options\&.
- .RE
- .PP
- \fIclassfile\fR
- .RS 4
- One or more classes separated by spaces to be processed for annotations such as DocFooter\&.class\&. You can specify a class that can be found in the class path, by its file name or with a URL such as
- \fBfile:///home/user/myproject/src/DocFooter\&.class\fR\&.
- .RE
- .SH "DESCRIPTION"
- .PP
- The
- \fBjavap\fR
- command disassembles one or more class files\&. The output depends on the options used\&. When no options are used, then the
- \fBjavap\fR
- command prints the package, protected and public fields, and methods of the classes passed to it\&. The
- \fBjavap\fR
- command prints its output to
- \fBstdout\fR\&.
- .SH "OPTIONS"
- .PP
- \-help
- .br
- \-\-help
- .br
- \-?
- .RS 4
- Prints a help message for the
- \fBjavap\fR
- command\&.
- .RE
- .PP
- \-version
- .RS 4
- Prints release information\&.
- .RE
- .PP
- \-l
- .RS 4
- Prints line and local variable tables\&.
- .RE
- .PP
- \-public
- .RS 4
- Shows only public classes and members\&.
- .RE
- .PP
- \-protected
- .RS 4
- Shows only protected and public classes and members\&.
- .RE
- .PP
- \-private
- .br
- \-p
- .RS 4
- Shows all classes and members\&.
- .RE
- .PP
- \-J\fIoption\fR
- .RS 4
- Passes the specified option to the JVM\&. For example:
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- \fBjavap \-J\-version\fR
- \fBjavap \-J\-Djava\&.security\&.manager \-J\-Djava\&.security\&.policy=MyPolicy MyClassName\fR
-
- .fi
- .if n \{\
- .RE
- .\}
- For more information about JVM options, see the command documentation\&.
- .RE
- .PP
- \-s
- .RS 4
- Prints internal type signatures\&.
- .RE
- .PP
- \-sysinfo
- .RS 4
- Shows system information (path, size, date, MD5 hash) of the class being processed\&.
- .RE
- .PP
- \-constants
- .RS 4
- Shows
- \fBstatic final\fR
- constants\&.
- .RE
- .PP
- \-c
- .RS 4
- Prints disassembled code, for example, the instructions that comprise the Java bytecodes, for each of the methods in the class\&.
- .RE
- .PP
- \-verbose
- .RS 4
- Prints stack size, number of locals and arguments for methods\&.
- .RE
- .PP
- \-classpath \fIpath\fR
- .RS 4
- Specifies the path the
- \fBjavap\fR
- command uses to look up classes\&. Overrides the default or the
- \fBCLASSPATH\fR
- environment variable when it is set\&.
- .RE
- .PP
- \-bootclasspath \fIpath\fR
- .RS 4
- Specifies the path from which to load bootstrap classes\&. By default, the bootstrap classes are the classes that implement the core Java platform located in
- \fBjre/lib/rt\&.jar\fR
- and several other JAR files\&.
- .RE
- .PP
- \-extdir \fIdirs\fR
- .RS 4
- Overrides the location at which installed extensions are searched for\&. The default location for extensions is the value of
- \fBjava\&.ext\&.dirs\fR\&.
- .RE
- .SH "EXAMPLE"
- .PP
- Compile the following
- \fBDocFooter\fR
- class:
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- \fBimport java\&.awt\&.*;\fR
- \fBimport java\&.applet\&.*;\fR
- \fB \fR
- \fBpublic class DocFooter extends Applet {\fR
- \fB String date;\fR
- \fB String email;\fR
- \fB \fR
- \fB public void init() {\fR
- \fB resize(500,100);\fR
- \fB date = getParameter("LAST_UPDATED");\fR
- \fB email = getParameter("EMAIL");\fR
- \fB }\fR
- \fB \fR
- \fB public void paint(Graphics g) {\fR
- \fB g\&.drawString(date + " by ",100, 15);\fR
- \fB g\&.drawString(email,290,15);\fR
- \fB }\fR
- \fB}\fR
-
- .fi
- .if n \{\
- .RE
- .\}
- .PP
- The output from the
- \fBjavap DocFooter\&.class\fR
- command yields the following:
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- \fBCompiled from "DocFooter\&.java"\fR
- \fBpublic class DocFooter extends java\&.applet\&.Applet {\fR
- \fB java\&.lang\&.String date;\fR
- \fB java\&.lang\&.String email;\fR
- \fB public DocFooter();\fR
- \fB public void init();\fR
- \fB public void paint(java\&.awt\&.Graphics);\fR
- \fB}\fR
-
- .fi
- .if n \{\
- .RE
- .\}
- .PP
- The output from
- \fBjavap \-c DocFooter\&.class\fR
- command yields the following:
- .sp
- .if n \{\
- .RS 4
- .\}
- .nf
- \fBCompiled from "DocFooter\&.java"\fR
- \fBpublic class DocFooter extends java\&.applet\&.Applet {\fR
- \fB java\&.lang\&.String date;\fR
- \fB java\&.lang\&.String email;\fR
-
- \fB public DocFooter();\fR
- \fB Code:\fR
- \fB 0: aload_0 \fR
- \fB 1: invokespecial #1 // Method\fR
- \fBjava/applet/Applet\&."<init>":()V\fR
- \fB 4: return \fR
-
- \fB public void init();\fR
- \fB Code:\fR
- \fB 0: aload_0 \fR
- \fB 1: sipush 500\fR
- \fB 4: bipush 100\fR
- \fB 6: invokevirtual #2 // Method resize:(II)V\fR
- \fB 9: aload_0 \fR
- \fB 10: aload_0 \fR
- \fB 11: ldc #3 // String LAST_UPDATED\fR
- \fB 13: invokevirtual #4 // Method\fR
- \fB getParameter:(Ljava/lang/String;)Ljava/lang/String;\fR
- \fB 16: putfield #5 // Field date:Ljava/lang/String;\fR
- \fB 19: aload_0 \fR
- \fB 20: aload_0 \fR
- \fB 21: ldc #6 // String EMAIL\fR
- \fB 23: invokevirtual #4 // Method\fR
- \fB getParameter:(Ljava/lang/String;)Ljava/lang/String;\fR
- \fB 26: putfield #7 // Field email:Ljava/lang/String;\fR
- \fB 29: return \fR
-
- \fB public void paint(java\&.awt\&.Graphics);\fR
- \fB Code:\fR
- \fB 0: aload_1 \fR
- \fB 1: new #8 // class java/lang/StringBuilder\fR
- \fB 4: dup \fR
- \fB 5: invokespecial #9 // Method\fR
- \fB java/lang/StringBuilder\&."<init>":()V\fR
- \fB 8: aload_0 \fR
- \fB 9: getfield #5 // Field date:Ljava/lang/String;\fR
- \fB 12: invokevirtual #10 // Method\fR
- \fB java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\fR
- \fB 15: ldc #11 // String by \fR
- \fB 17: invokevirtual #10 // Method\fR
- \fB java/lang/StringBuilder\&.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\fR
- \fB 20: invokevirtual #12 // Method\fR
- \fB java/lang/StringBuilder\&.toString:()Ljava/lang/String;\fR
- \fB 23: bipush 100\fR
- \fB 25: bipush 15\fR
- \fB 27: invokevirtual #13 // Method\fR
- \fB java/awt/Graphics\&.drawString:(Ljava/lang/String;II)V\fR
- \fB 30: aload_1 \fR
- \fB 31: aload_0 \fR
- \fB 32: getfield #7 // Field email:Ljava/lang/String;\fR
- \fB 35: sipush 290\fR
- \fB 38: bipush 15\fR
- \fB 40: invokevirtual #13 // Method\fR
- \fBjava/awt/Graphics\&.drawString:(Ljava/lang/String;II)V\fR
- \fB 43: return \fR
- \fB}\fR
-
- .fi
- .if n \{\
- .RE
- .\}
- .SH "SEE ALSO"
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- java(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- javac(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- javadoc(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- javah(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- jdb(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- jdeps(1)
- .RE
- .br
- 'pl 8.5i
- 'bp
|