Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

javap - Дизассемблер Файла Класса Java

Дизассемблирует файлы класса.

РЕЗЮМЕ

javap [ options ] classes

ОПИСАНИЕ

javap команда дизассемблирует один или более файлов класса. Его вывод зависит от используемых опций. Если никакие опции не используются, javap распечатывает пакет, защищенные, и общедоступные поля и методы классов, которые передают к этому. javap печатает свой вывод к stdout.

options
Параметры командной строки.
classes
Список одного или более классов (разделенный пробелами), чтобы быть обработанным для аннотаций (такой как DocFooter.class). Можно определить класс, который может быть найден в пути к классу его именем файла (например, C:\myproject\src\DocFooter.class), или с URL (например, file:///C:/myproject/src/DocFooter.class).

Например, скомпилируйте следующее объявление класса:

import java.awt.*;
import java.applet.*;

public class DocFooter extends Applet {
        String date;
        String email;

        public void init() {
                resize(500,100);
                date = getParameter("LAST_UPDATED");
                email = getParameter("EMAIL");
        }

        public void paint(Graphics g) {
                g.drawString(date + " by ",100, 15);
                g.drawString(email,290,15);
        }
}

Вывод от javap DocFooter.class урожаи:

Compiled from "DocFooter.java"
public class DocFooter extends java.applet.Applet {
  java.lang.String date;
  java.lang.String email;
  public DocFooter();
  public void init();
  public void paint(java.awt.Graphics);
}

Вывод от javap-c DocFooter.class урожаи:

Compiled from "DocFooter.java"
public class DocFooter extends java.applet.Applet {
  java.lang.String date;

  java.lang.String email;

  public DocFooter();
    Code:
       0: aload_0       
       1: invokespecial #1                  // Method java/applet/Applet."<init>":()V
       4: return        

  public void init();
    Code:
       0: aload_0       
       1: sipush        500
       4: bipush        100
       6: invokevirtual #2                  // Method resize:(II)V
       9: aload_0       
      10: aload_0       
      11: ldc           #3                  // String LAST_UPDATED
      13: invokevirtual #4                  // Method getParameter:(Ljava/lang/String;)Ljava/lang/String;
      16: putfield      #5                  // Field date:Ljava/lang/String;
      19: aload_0       
      20: aload_0       
      21: ldc           #6                  // String EMAIL
      23: invokevirtual #4                  // Method getParameter:(Ljava/lang/String;)Ljava/lang/String;
      26: putfield      #7                  // Field email:Ljava/lang/String;
      29: return        

  public void paint(java.awt.Graphics);
    Code:
       0: aload_1       
       1: new           #8                  // class java/lang/StringBuilder
       4: dup           
       5: invokespecial #9                  // Method java/lang/StringBuilder."<init>":()V
       8: aload_0       
       9: getfield      #5                  // Field date:Ljava/lang/String;
      12: invokevirtual #10                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: ldc           #11                 // String  by 
      17: invokevirtual #10                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      20: invokevirtual #12                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
      23: bipush        100
      25: bipush        15
      27: invokevirtual #13                 // Method java/awt/Graphics.drawString:(Ljava/lang/String;II)V
      30: aload_1       
      31: aload_0       
      32: getfield      #7                  // Field email:Ljava/lang/String;
      35: sipush        290
      38: bipush        15
      40: invokevirtual #13                 // Method java/awt/Graphics.drawString:(Ljava/lang/String;II)V
      43: return        
}

ОПЦИИ

- справка
- справка
-?
Распечатывает сообщение справки для javap.
-l
Распечатывает таблицы локальной переменной и строка.
- общественность
Шоу только общедоступные классы и элементы.
- защищенный
Шоу только защищенные и общедоступные классы и элементы.
- пакет
Шоу только пакет, защищенные, и общедоступные классы и элементы. Это - значение по умолчанию.
- частный
-p
Шоу все классы и элементы.
-Jflag
Флаг передачи непосредственно к системе времени выполнения. Некоторые примеры:
javap -J-version
javap -J-Djava.security.manager -J-Djava.security.policy=MyPolicy MyClassName
-s
Печатает внутренние подписи типа.
-sysinfo
Выставочная информация о системе (путь, размер, дата, хеш MD5) обрабатываемого класса.
- константы
Шоу статические заключительные константы.
-c
Распечатывает дизассемблированный код, то есть, инструкции, которые включают Байт-коды Java для каждого из методов в классе. Они документируются в Спецификацию виртуальной машины Java.
- многословный
Печатные издания складывают размер, число locals и args для методов.
- путь пути к классу
Определяет путь javap использование, чтобы искать классы. Переопределяет значение по умолчанию или переменную окружения ПУТИ К КЛАССУ, если это устанавливается.
Путь-bootclasspath
Определяет путь, из которого можно загрузить классы начальной загрузки. По умолчанию классы начальной загрузки являются классами, реализовывая базовую платформу Java, расположенную в jre\lib\rt.jar и нескольких других файлах фляги.
Dir-extdirs
Расположение переопределений, в котором разыскиваются установленные расширения. Расположение по умолчанию для расширений является значением java.ext.dirs.

СМ. ТАКЖЕ

javac, java, jdb, javah


Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами