B.7 | javap |
javap ist ein Disassembler für Java-Klassen. Mit diesem Tool kann man Deklarationen, die sich in einer kompilierten Java-Klasse (Endung .class) befinden, sichtbar machen. Auch die Bytecode-Instruktionen der Methoden können angezeigt werden.
Per Voreinstellung werden alle Bestandteile angezeigt, die nicht private oder protected sind.
Es können folgende Optionen angegeben werden:
- -help
listet die gültigen Optionen und eine kurze Erklärung auf.- -l
Bei der Angabe dieser Option werden zusätzlich Zeilennummern und Informationen über lokale Variablen angezeigt. Zur Anzeige der lokalen Variable muss die Klasse jedoch mit der Option -g kompiliert worden sein.- -b
stellt sicher, dass javap abwärtskompatibel zum JDK 1.1 arbeitet.- -public
gibt nur als public-deklarierte Bestandteil aus.- -protected
gibt public- und protected-deklarierte Bestandteile aus.- -package
gibt die Bestandteile aus, die als public, protected oder mit voreingestelltem Zugriff vereinbart sind.- -private
gibt alle Bestandteile aus.- -J<flag>
ermöglicht es, eine Option an den Interpreter zu übergeben, der javap ausführt. Für jede durchzureichende Option muss -J separat angegeben werden. Zwischen -J und <option> darf kein Leerzeichen sein (z.B. -J-verbose).- -s
zeigt Datentypen zusätzlich in der intern verwendeten Notation an.- -c
Bei der Angabe dieser Option werden zusätzlich die Bytecode-Instruktionen aller Methoden ausgegeben.- -verbose
Gibt ausführliche Informationen aus.- -classpath <path>
Mit dieser Option werden Verzeichnisse angegeben, in denen javap nach Klassendateien sucht. Diese Option setzt die CLASSPATH-Umgebungsvariable außer Kraft. Mehrere Pfade müssen durch ; (Windows) bzw. : (UNIX) getrennt werden.- -bootclasspath <bootclasspath>
Mit dieser Option kann der Pfad geändert werden, unter dem die System-Klassen gesucht werden. Mehrere Pfade müssen durch ; (Windows) bzw. : (UNIX) getrennt werden.- -extdirs <dirlist>
Mit dieser Option können Verzeichnisse angegeben werden, in denen nach Erweiterungspaketen gesucht wird. Mehrere Pfade müssen durch ; (Windows) bzw. : (UNIX) getrennt werden.