Copyright (c) 1994, 2013, 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.
Arch: generic
Software: JDK 8
Date: 21 November 2013
SectDesc: Basic Tools
Title: javap.1
* Define some portability stuff
-----------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://bugs.debian.org/507673
http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------
* set default formatting
-----------------------------------------------------------------
disable hyphenation
disable justification (adjust text to left margin only)
-----------------------------------------------------------------
* MAIN CONTENT STARTS HERE *
-----------------------------------------------------------------
javap [options] classfile...
options The command-line options. See Options.
classfile 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 \f3file:///home/user/myproject/src/DocFooter.class.
-help, --help, -?
Prints a help message for the \f3javap command.
-version
Prints release information.
-l
Prints line and local variable tables.
-public
Shows only public classes and members.
-protected
Shows only protected and public classes and members.
-private, -p
Shows all classes and members.
-Joption
Passes the specified option to the JVM. For example:
\f3javap -J-version
\f3javap -J-Djava.security.manager -J-Djava.security.policy=MyPolicy MyClassName
\f3For more information about JVM options, see the \f3java(1) command documentation.
-s
Prints internal type signatures.
-sysinfo
Shows system information (path, size, date, MD5 hash) of the class being processed.
-constants
Shows \f3static final constants.
-c
Prints disassembled code, for example, the instructions that comprise the Java bytecodes, for each of the methods in the class.
-verbose
Prints stack size, number of locals and arguments for methods.
-classpath path
Specifies the path the \f3javap command uses to look up classes. Overrides the default or the \f3CLASSPATH environment variable when it is set.
-bootclasspath path
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 \f3jre/lib/rt.jar and several other JAR files.
-extdir dirs
Overrides the location at which installed extensions are searched for. The default location for extensions is the value of \f3java.ext.dirs.
\f3import java.awt.*;
\f3import java.applet.*;
\f3
\f3public class DocFooter extends Applet {
\f3 String date;
\f3 String email;
\f3
\f3 public void init() {
\f3 resize(500,100);
\f3 date = getParameter("LAST_UPDATED");
\f3 email = getParameter("EMAIL");
\f3 }
\f3
\f3 public void paint(Graphics g) {
\f3 g.drawString(date + " by ",100, 15);
\f3 g.drawString(email,290,15);
\f3 }
\f3}
\f3The output from the \f3javap DocFooter.class command yields the following:
\f3Compiled from "DocFooter.java"
\f3public class DocFooter extends java.applet.Applet {
\f3 java.lang.String date;
\f3 java.lang.String email;
\f3 public DocFooter();
\f3 public void init();
\f3 public void paint(java.awt.Graphics);
\f3}
\f3The output from \f3javap -c DocFooter.class command yields the following:
\f3Compiled from "DocFooter.java"
\f3public class DocFooter extends java.applet.Applet {
\f3 java.lang.String date;
\f3 java.lang.String email;
\f3
\f3 public DocFooter();
\f3 Code:
\f3 0: aload_0
\f3 1: invokespecial #1 // Method
\f3java/applet/Applet."<init>":()V
\f3 4: return
\f3
\f3 public void init();
\f3 Code:
\f3 0: aload_0
\f3 1: sipush 500
\f3 4: bipush 100
\f3 6: invokevirtual #2 // Method resize:(II)V
\f3 9: aload_0
\f3 10: aload_0
\f3 11: ldc #3 // String LAST_UPDATED
\f3 13: invokevirtual #4 // Method
\f3 getParameter:(Ljava/lang/String;)Ljava/lang/String;
\f3 16: putfield #5 // Field date:Ljava/lang/String;
\f3 19: aload_0
\f3 20: aload_0
\f3 21: ldc #6 // String EMAIL
\f3 23: invokevirtual #4 // Method
\f3 getParameter:(Ljava/lang/String;)Ljava/lang/String;
\f3 26: putfield #7 // Field email:Ljava/lang/String;
\f3 29: return
\f3
\f3 public void paint(java.awt.Graphics);
\f3 Code:
\f3 0: aload_1
\f3 1: new #8 // class java/lang/StringBuilder
\f3 4: dup
\f3 5: invokespecial #9 // Method
\f3 java/lang/StringBuilder."<init>":()V
\f3 8: aload_0
\f3 9: getfield #5 // Field date:Ljava/lang/String;
\f3 12: invokevirtual #10 // Method
\f3 java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
\f3 15: ldc #11 // String by
\f3 17: invokevirtual #10 // Method
\f3 java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
\f3 20: invokevirtual #12 // Method
\f3 java/lang/StringBuilder.toString:()Ljava/lang/String;
\f3 23: bipush 100
\f3 25: bipush 15
\f3 27: invokevirtual #13 // Method
\f3 java/awt/Graphics.drawString:(Ljava/lang/String;II)V
\f3 30: aload_1
\f3 31: aload_0
\f3 32: getfield #7 // Field email:Ljava/lang/String;
\f3 35: sipush 290
\f3 38: bipush 15
\f3 40: invokevirtual #13 // Method
\f3java/awt/Graphics.drawString:(Ljava/lang/String;II)V
\f3 43: return
\f3}
\f3
0.2i javac(1)
0.2i java(1)
0.2i jdb(1)
0.2i javah(1)
0.2i javadoc(1)
'pl 8.5i 'bp