javap.1 revision 2362
1178N/A." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved.
1178N/A." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1178N/A."
1178N/A." This code is free software; you can redistribute it and/or modify it
1178N/A." under the terms of the GNU General Public License version 2 only, as
1178N/A." published by the Free Software Foundation.
1178N/A."
1178N/A." This code is distributed in the hope that it will be useful, but WITHOUT
1178N/A." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1178N/A." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1178N/A." version 2 for more details (a copy is included in the LICENSE file that
1178N/A." accompanied this code).
1178N/A."
1178N/A." You should have received a copy of the GNU General Public License version
1178N/A." 2 along with this work; if not, write to the Free Software Foundation,
1178N/A." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1178N/A."
2362N/A." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A." or visit www.oracle.com if you need additional information or have any
2362N/A." questions.
1178N/A."
1178N/A.TH javap 1 "04 May 2009"
1178N/A." Generated from HTML by html2man (author: Eric Armstrong)
1178N/A
1178N/A.LP
1178N/A.SH "名前"
1178N/Ajavap \- Java クラスファイル逆アセンブラ
1178N/A.LP
1178N/A.RS 3
1178N/A
1178N/A.LP
1178N/A.LP
1178N/Aクラスファイルを逆アセンブルします。
1178N/A.LP
1178N/A.RE
1178N/A.SH "形式"
1178N/A.LP
1178N/A
1178N/A.LP
1178N/A.nf
1178N/A\f3
1178N/A.fl
1178N/Ajavap [ \fP\f3options\fP\f3 ] class. . .
1178N/A.fl
1178N/A\fP
1178N/A.fi
1178N/A
1178N/A.LP
1178N/A.SH "説明"
0N/A.LP
0N/A
0N/A.LP
0N/A.LP
1178N/A\f3javap\fP コマンドは、クラスファイルを逆アセンブルします。その出力は指定するオプションにより異なります。オプションを指定しない場合、\f3javap\fP は、そのパッケージ、渡されたクラスの protected および public のフィールドとメソッドを出力します。 \f3javap\fP はその出力を標準出力に表示します。たとえば、次のクラス宣言をコンパイルするとします。
0N/A.LP
1178N/A.RS 3
1178N/A
1178N/A.LP
0N/A.nf
0N/A\f3
1178N/A.fl
0N/Aimport java.awt.*;
1178N/A.fl
0N/Aimport java.applet.*;
1178N/A.fl
0N/A
1178N/A.fl
0N/Apublic class DocFooter extends Applet {
1178N/A.fl
1178N/A String date;
1178N/A.fl
1178N/A String email;
1178N/A.fl
0N/A
1178N/A.fl
1178N/A public void init() {
1178N/A.fl
1178N/A resize(500,100);
1178N/A.fl
1178N/A date = getParameter("LAST_UPDATED");
1178N/A.fl
1178N/A email = getParameter("EMAIL");
1178N/A.fl
1178N/A }
1178N/A.fl
0N/A
1178N/A.fl
1178N/A public void paint(Graphics g) {
1178N/A.fl
1178N/A g.drawString(date + " by ",100, 15);
1178N/A.fl
1178N/A g.drawString(email,290,15);
1178N/A.fl
1178N/A }
1178N/A.fl
0N/A}
1178N/A.fl
1178N/A\fP
0N/A.fi
0N/A.RE
1178N/A
0N/A.LP
1178N/A.LP
1178N/A\f3javap DocFooter\fP がもたらす出力は次のようになります。
1178N/A.LP
1178N/A.RS 3
1178N/A
1178N/A.LP
1178N/A.nf
0N/A\f3
1178N/A.fl
0N/ACompiled from DocFooter.java
1178N/A.fl
0N/Apublic class DocFooter extends java.applet.Applet {
1178N/A.fl
1178N/A java.lang.String date;
1178N/A.fl
1178N/A java.lang.String email;
1178N/A.fl
1178N/A public DocFooter();
1178N/A.fl
1178N/A public void init();
1178N/A.fl
1178N/A public void paint(java.awt.Graphics);
1178N/A.fl
0N/A}
1178N/A.fl
1178N/A\fP
0N/A.fi
1178N/A.RE
1178N/A
0N/A.LP
1178N/A.LP
1178N/A\f3javap \-c DocFooter\fP がもたらす出力は次のようになります。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/ACompiled from DocFooter.java
0N/A.fl
0N/Apublic class DocFooter extends java.applet.Applet {
0N/A.fl
0N/A java.lang.String date;
0N/A.fl
0N/A java.lang.String email;
0N/A.fl
0N/A public DocFooter();
0N/A.fl
0N/A public void init();
0N/A.fl
0N/A public void paint(java.awt.Graphics);
0N/A.fl
0N/A}
0N/A.fl
0N/A
0N/A.fl
0N/AMethod DocFooter()
0N/A.fl
0N/A 0 aload_0
0N/A.fl
0N/A 1 invokespecial #1 <Method java.applet.Applet()>
0N/A.fl
0N/A 4 return
0N/A.fl
0N/A
0N/A.fl
0N/AMethod void init()
0N/A.fl
0N/A 0 aload_0
0N/A.fl
0N/A 1 sipush 500
0N/A.fl
0N/A 4 bipush 100
0N/A.fl
0N/A 6 invokevirtual #2 <Method void resize(int, int)>
0N/A.fl
0N/A 9 aload_0
0N/A.fl
0N/A 10 aload_0
0N/A.fl
0N/A 11 ldc #3 <String "LAST_UPDATED">
0N/A.fl
0N/A 13 invokevirtual #4 <Method java.lang.String getParameter(java.lang.String)>
0N/A.fl
0N/A 16 putfield #5 <Field java.lang.String date>
0N/A.fl
0N/A 19 aload_0
0N/A.fl
0N/A 20 aload_0
0N/A.fl
0N/A 21 ldc #6 <String "EMAIL">
0N/A.fl
0N/A 23 invokevirtual #4 <Method java.lang.String getParameter(java.lang.String)>
0N/A.fl
0N/A 26 putfield #7 <Field java.lang.String email>
0N/A.fl
0N/A 29 return
0N/A.fl
0N/A
0N/A.fl
0N/AMethod void paint(java.awt.Graphics)
0N/A.fl
0N/A 0 aload_1
0N/A.fl
0N/A 1 new #8 <Class java.lang.StringBuffer>
0N/A.fl
0N/A 4 dup
0N/A.fl
0N/A 5 invokespecial #9 <Method java.lang.StringBuffer()>
0N/A.fl
0N/A 8 aload_0
0N/A.fl
0N/A 9 getfield #5 <Field java.lang.String date>
0N/A.fl
0N/A 12 invokevirtual #10 <Method java.lang.StringBuffer append(java.lang.String)>
0N/A.fl
0N/A 15 ldc #11 <String " by ">
0N/A.fl
0N/A 17 invokevirtual #10 <Method java.lang.StringBuffer append(java.lang.String)>
0N/A.fl
0N/A 20 invokevirtual #12 <Method java.lang.String toString()>
0N/A.fl
0N/A 23 bipush 100
0N/A.fl
0N/A 25 bipush 15
0N/A.fl
0N/A 27 invokevirtual #13 <Method void drawString(java.lang.String, int, int)>
0N/A.fl
0N/A 30 aload_1
0N/A.fl
0N/A 31 aload_0
0N/A.fl
0N/A 32 getfield #7 <Field java.lang.String email>
0N/A.fl
0N/A 35 sipush 290
0N/A.fl
0N/A 38 bipush 15
0N/A.fl
0N/A 40 invokevirtual #13 <Method void drawString(java.lang.String, int, int)>
0N/A.fl
0N/A 43 return
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
1178N/A.SH "オプション"
0N/A.LP
0N/A
0N/A.LP
1178N/A.RS 3
0N/A.TP 3
0N/A\-help
1178N/A\f3javap\fP のヘルプメッセージを出力します。
0N/A.TP 3
0N/A\-l
1178N/A行番号と局所変数テーブルを表示します。
0N/A.TP 3
0N/A\-b
1178N/AJDK 1.1 の \f3javap\fP との下位互換性を保証します。
0N/A.TP 3
0N/A\-public
1178N/Apublic クラスおよびメンバーだけを表示します。
0N/A.TP 3
0N/A\-protected
1178N/Aprotected および public のクラスとメンバーだけを表示します。
0N/A.TP 3
0N/A\-package
1178N/Apackage、protected、および public のクラスとメンバーだけを表示します。これはデフォルトの設定です。
0N/A.TP 3
0N/A\-private
1178N/Aすべてのクラスとメンバーを表示します。
0N/A.TP 3
0N/A\-Jflag
1178N/Aランタイムシステムに直接 \f2flag\fP を渡します。使用例を次に示します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajavap \-J\-version
0N/A.fl
0N/Ajavap \-J\-Djava.security.manager \-J\-Djava.security.policy=MyPolicy MyClassName
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A.TP 3
0N/A\-s
1178N/A内部の型シグニチャーを出力します。
0N/A.TP 3
0N/A\-c
1178N/Aクラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは
1178N/A.na
1178N/A\f2「Java Virtual Machine Specification」\fP @
0N/A.fi
1178N/Ahttp://java.sun.com/docs/books/vmspec/にドキュメント化されています。
0N/A.TP 3
0N/A\-verbose
1178N/Aメソッドのスタックサイズ、および \f2locals\fP と \f2args\fP の数を出力します。
0N/A.TP 3
0N/A\-classpath path
1178N/A\f3javap\fP がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。
0N/A.nf
0N/A\f3
0N/A.fl
0N/A .:<your_path>
0N/A.fl
0N/A\fP
0N/A.fi
1178N/A例を示します。
0N/A.nf
0N/A\f3
0N/A.fl
0N/A.:/home/avh/classes:/usr/local/java/classes
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.TP 3
0N/A\-bootclasspath path
1178N/Aブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。
0N/A.TP 3
0N/A\-extdirs dirs
1178N/Aインストールされた拡張機能を検索する場所をオーバーライドします。The default location for extensions is the value of \f2java.ext.dirs\fP.
1178N/A.RE
1178N/A
1178N/A.LP
1178N/A.SH "環境変数"
1178N/A.LP
1178N/A
0N/A.LP
1178N/A.RS 3
1178N/A.TP 3
1178N/ACLASSPATH
1178N/Aユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。 次に例を示します。
1178N/A.RS 3
1178N/A
1178N/A.LP
1178N/A.nf
1178N/A\f3
1178N/A.fl
1178N/A.:/home/avh/classes:/usr/local/java/classes
1178N/A.fl
1178N/A\fP
1178N/A.fi
0N/A.RE
1178N/A.RE
1178N/A
1178N/A.LP
1178N/A.SH "関連項目"
0N/A.LP
0N/A
0N/A.LP
0N/A.LP
1178N/Ajavac(1)、 java(1)、jdb(1)、javah(1)、javadoc(1)
0N/A.LP
0N/A
0N/A.LP
0N/A