Como usar o comando javap

o javap comando é chamado de “desmontador” Java 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 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ípico das informações que você começa quando você executar o javap comando:

C: javasamplesgt;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 comando indica que o HelloApp classe foi compilada a partir da HelloApp.java arquivo e que consiste em uma 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: javasamplesgt; 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 / objeto."":() 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}

Publicações relacionadas