." Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. ." .TH javap 1 "06 Apr 2010" ." Generated from HTML by html2man (author: Eric Armstrong) .LP .SH "名前" javap \- Java クラスファイル逆アセンブラ .LP .RS 3 .LP .LP クラスファイルを逆アセンブルします。 .LP .RE .SH "形式" .LP .LP .nf \f3 .fl javap [ \fP\f3options\fP\f3 ] class. . . .fl \fP .fi .LP .SH "説明" .LP .LP .LP \f3javap\fP コマンドは、クラスファイルを逆アセンブルします。その出力は指定するオプションにより異なります。オプションを指定しない場合、\f3javap\fP は、そのパッケージ、渡されたクラスの protected および public のフィールドとメソッドを出力します。 \f3javap\fP はその出力を標準出力に表示します。たとえば、次のクラス宣言をコンパイルするとします。 .LP .RS 3 .LP .nf \f3 .fl import java.awt.*; .fl import java.applet.*; .fl .fl public class DocFooter extends Applet { .fl String date; .fl String email; .fl .fl public void init() { .fl resize(500,100); .fl date = getParameter("LAST_UPDATED"); .fl email = getParameter("EMAIL"); .fl } .fl .fl public void paint(Graphics g) { .fl g.drawString(date + " by ",100, 15); .fl g.drawString(email,290,15); .fl } .fl } .fl \fP .fi .RE .LP .LP \f3javap DocFooter\fP がもたらす出力は次のようになります。 .LP .RS 3 .LP .nf \f3 .fl Compiled from DocFooter.java .fl public class DocFooter extends java.applet.Applet { .fl java.lang.String date; .fl java.lang.String email; .fl public DocFooter(); .fl public void init(); .fl public void paint(java.awt.Graphics); .fl } .fl \fP .fi .RE .LP .LP \f3javap \-c DocFooter\fP がもたらす出力は次のようになります。 .LP .RS 3 .LP .nf \f3 .fl Compiled from DocFooter.java .fl public class DocFooter extends java.applet.Applet { .fl java.lang.String date; .fl java.lang.String email; .fl public DocFooter(); .fl public void init(); .fl public void paint(java.awt.Graphics); .fl } .fl .fl Method DocFooter() .fl 0 aload_0 .fl 1 invokespecial #1 .fl 4 return .fl .fl Method void init() .fl 0 aload_0 .fl 1 sipush 500 .fl 4 bipush 100 .fl 6 invokevirtual #2 .fl 9 aload_0 .fl 10 aload_0 .fl 11 ldc #3 .fl 13 invokevirtual #4 .fl 16 putfield #5 .fl 19 aload_0 .fl 20 aload_0 .fl 21 ldc #6 .fl 23 invokevirtual #4 .fl 26 putfield #7 .fl 29 return .fl .fl Method void paint(java.awt.Graphics) .fl 0 aload_1 .fl 1 new #8 .fl 4 dup .fl 5 invokespecial #9 .fl 8 aload_0 .fl 9 getfield #5 .fl 12 invokevirtual #10 .fl 15 ldc #11 .fl 17 invokevirtual #10 .fl 20 invokevirtual #12 .fl 23 bipush 100 .fl 25 bipush 15 .fl 27 invokevirtual #13 .fl 30 aload_1 .fl 31 aload_0 .fl 32 getfield #7 .fl 35 sipush 290 .fl 38 bipush 15 .fl 40 invokevirtual #13 .fl 43 return .fl \fP .fi .RE .LP .SH "オプション" .LP .LP .RS 3 .TP 3 \-help \f3javap\fP のヘルプメッセージを出力します。 .TP 3 \-l 行番号と局所変数テーブルを表示します。 .TP 3 \-b JDK 1.1 の \f3javap\fP との下位互換性を保証します。 .TP 3 \-public public クラスおよびメンバーだけを表示します。 .TP 3 \-protected protected および public のクラスとメンバーだけを表示します。 .TP 3 \-package package、protected、および public のクラスとメンバーだけを表示します。これはデフォルトの設定です。 .TP 3 \-private すべてのクラスとメンバーを表示します。 .TP 3 \-Jflag ランタイムシステムに直接 \f2flag\fP を渡します。使用例を次に示します。 .RS 3 .LP .nf \f3 .fl javap \-J\-version .fl javap \-J\-Djava.security.manager \-J\-Djava.security.policy=MyPolicy MyClassName .fl \fP .fi .RE .TP 3 \-s 内部の型シグニチャーを出力します。 .TP 3 \-c クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは .na \f2「Java Virtual Machine Specification」\fP @ .fi http://java.sun.com/docs/books/vmspec/にドキュメント化されています。 .TP 3 \-verbose メソッドのスタックサイズ、および \f2locals\fP と \f2args\fP の数を出力します。 .TP 3 \-classpath path \f3javap\fP がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。 .nf \f3 .fl .: .fl \fP .fi 例を示します。 .nf \f3 .fl .:/home/avh/classes:/usr/local/java/classes .fl \fP .fi .TP 3 \-bootclasspath path ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。 .TP 3 \-extdirs dirs インストールされた拡張機能を検索する場所をオーバーライドします。The default location for extensions is the value of \f2java.ext.dirs\fP. .RE .LP .SH "環境変数" .LP .LP .RS 3 .TP 3 CLASSPATH ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割します。 次に例を示します。 .RS 3 .LP .nf \f3 .fl .:/home/avh/classes:/usr/local/java/classes .fl \fP .fi .RE .RE .LP .SH "関連項目" .LP .LP .LP javac(1)、 java(1)、jdb(1)、javah(1)、javadoc(1) .LP