src/linux/doc/man/javap.1
changeset 47216 71c04702a3d5
parent 31876 91b22707521a
child 49424 4269e701448e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/linux/doc/man/javap.1	Tue Sep 12 19:03:39 2017 +0200
@@ -0,0 +1,391 @@
+'\" t
+.\" Copyright (c) 1994, 2014, Oracle and/or its affiliates. All rights reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+.\" or visit www.oracle.com if you need additional information or have any
+.\" questions.
+.\"
+.\" Title: javap
+.\" Language: English
+.\" Date: 8 August 2014
+.\" SectDesc: Basic Tools
+.\" Software: JDK 8
+.\" Arch: generic
+.\" Part Number: E38207-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