Java >> Tutoriel Java >  >> Tag >> byte

Comprendre le code d'octet Java

Plutôt que de regarder directement le bytecode Java, ce qui nécessitera une familiarité avec la machine virtuelle Java et ses opérations, on pourrait essayer d'utiliser un utilitaire de décompilation Java. Un décompilateur tentera de créer un java fichier source du class spécifié fichier.

La section Comment « décompiler » les fichiers de classe Java ? est une question connexe qui serait instructive pour savoir comment décompiler Java class fichiers.

Cela dit, on pourrait utiliser le javap commande qui fait partie du JDK afin de désassembler Java class des dossiers. La sortie de javap sera le bytecode Java contenu dans le class des dossiers. Mais sachez que le bytecode ne ressemble pas du tout au code source Java.

La source définitive pour en savoir plus sur le bytecode Java et la machine virtuelle Java elle-même serait la spécification de la machine virtuelle Java, deuxième édition. En particulier, le chapitre 6 :Le jeu d'instructions de la machine virtuelle Java contient un index de toutes les instructions de bytecode.


Pour afficher les instructions de bytecode des fichiers de classe, utilisez le javap -v commande, de la même manière que si vous exécutiez un programme java, en spécifiant le chemin de classe (si nécessaire) et le nom de la classe.

Exemple :

javap -v com.company.package.MainClass

À propos du jeu d'instructions bytecode,Résumé du jeu d'instructions


Fernflower est un décompilateur analytique, il décompile donc les classes en un code java lisible au lieu de bytecodes. C'est beaucoup plus utile lorsque vous voulez comprendre comment fonctionne le code.


Balise Java