Como usar o comando javap

o javap comando é chamado o Java # 147 desmontador # 148 porque leva além arquivos de classe e diz-lhe que está dentro deles. Você não vai usar este comando muitas vezes, mas usá-lo para descobrir como uma declaração de Java em particular funciona é divertido, às vezes. Você também pode usá-lo para descobrir o que estão disponíveis para uma classe de métodos, se você não tem o código-fonte que foi usado para criar a classe.

Aqui é o formato geral:

javap filename [options]

O seguinte é típica da informação que você começa quando você executar o javap comando:

C: java samples>javap HelloAppCompilados a partir de "HelloApp.java" classe pública HelloApp estende java.lang.Object {HelloApp pública () - public static void main (java.lang.String []) -}

Como você pode ver, o javap indica que o comando HelloApp classe foi compilada a partir da HelloApp.java dossier e que consiste de um pública HelloApp classe e um público principal método.

Você pode querer usar duas opções com o javap comando. Se você usar o -c opção, o javap comando exibe os bytecodes Java reais criados pelo compilador para a classe. (bytecode Java é o programa executável compilado a partir de seu arquivo de origem Java.)

E se você usar o -verboso opção, os bytecodes - além de uma tonelada de outras informações fascinantes sobre as entranhas da classe - são exibidos. Aqui está o -c saída para uma classe chamada HelloApp:

C: java samples> javap HelloApp -cCompiled de "HelloApp.java" classe pública HelloApp estende java.lang.Object {public HelloApp () - Código: 0: aload_01: invokespecial # 1- // Methodjava / lang / Object. "":() V4: returnpublic static void main (java.lang.String []) - Código: 0: getstatic # 2- //Fieldjava/lang/System.out:Ljava/io/PrintStream-3: LDC # 3- // string Olá, mundo 5: invokevirtual # 4- //Methodjava/io/PrintStream.println:(Ljava/lang/String-)V8: return}

menu