介绍
这篇文章将为大家详细讲解有关如何查看java中。类文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
有时候为了研究Javac的原理,要去看看类文件的内容是如何组织的,这时候很有必要查看类文件。
<强> java类文件怎么看? 强>
查看类文件方法有很多种,这里推荐使用JDK自带javap的工具。
首先建立如下源码:
公共类HelloWorld { 公共静态void main (String [] args) { System.out.println (“hello world !”); } }
使用javac编译器把源文件编译好,再接着使用javap工具查看类文件,命令如下
javap - verbose HelloWorld
这是DOS窗口的运行结果复制出来如下图:
F: \祝辞javac HelloWorld.java F: \祝辞javap - verbose HelloWorld 类文件/F:/HelloWorld.class 最后修改2017-12-24;大小426字节 MD5校验和4 efac412ef483c8a3fe7489c87d15c8c 从“编译HelloWorld.java" 公开课HelloWorld 小版本:0 主要版本:52 国旗:ACC_PUBLIC ACC_SUPER 常量池: # 1=Methodref # 6。# 15//java/lang/对象!”& lt; init>“: V () # 2=Fieldref # 16。# 17//java/lang/system . out: Ljava/io/打印 流; # 3=字符串# 18//hello world ! # 4=Methodref # 19。# 20//java/io/PrintStream.println: (Ljava/朗/字符串;V) # 5=类# 21//HelloWorld # 6=类# 22//java/lang/对象 # 7=Utf8 & lt; init> # 8 V=Utf8 () # 9=Utf8编码 # 10=Utf8 LineNumberTable # 11=Utf8主要 # 12=Utf8 ((Ljava/lang/String;) V # 13=Utf8源文件 # 14=Utf8 HelloWorld.java # 15=NameAndType # 7: # 8//? lt; init>“: V () # 16=类# 23//java/lang/系统 # 17=NameAndType # 24: # 25//: Ljava/io/PrintStream; # 18=Utf8 hello world ! # 19=类# 26//java/io/PrintStream # 20=NameAndType # 27: # 28//println: (Ljava/lang/String;) V # 21=Utf8 HelloWorld # 22=Utf8 java/lang/对象 # 23=Utf8 java/lang/系统 # 24=Utf8出来 # 25=Utf8 Ljava/io/PrintStream; # 26=Utf8 java/io/PrintStream # 27=Utf8 println # 28=Utf8 (Ljava/lang/String;) V { 公共HelloWorld (); 描述符:V () 国旗:ACC_PUBLIC 代码: 堆栈=1,当地人=1,args_size=1 0:aload_0 方法1:invokespecial # 1//java/lang/对象!”& lt; init> “V: () 4:返回 LineNumberTable: 1号线:0 公共静态void main(以[]); 描述符:((Ljava/lang/String;) V 国旗:ACC_PUBLIC ACC_STATIC 代码: 堆栈=2,当地人=1,args_size=1 0:getstatic # 2//java/lang/system . out:字段Ljav/io/PrintStream; 3:ldc # 3//字符串hello world ! 5:invokevirtual # 4//java/io/PrintStream.prin方法 tln: (Ljava/lang/String;) V 8:返回 LineNumberTable: 第3行:0 第4行:8 } 源文件:“HelloWorld.java" F: \祝辞
关于如何查看java中. class文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。