java查看class文件,怎么查看.class文件
有时候为了研究Javac的原理,要去看看班级文件的内容是如何组织的,这时候很有必要查看班级文件。
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
java class文件怎么看?
查看班级文件方法有很多种,这里推荐使用爪哇岛开发工具包自带的反编译工具。
首先建立如下源码:
公共类HelloWorld{
公共静态void main(String[] args){
System.out.println(hello world!);
}
}使用编译命令编译器把源文件编译好,再接着使用反编译工具查看班级文件,命令如下
javap -verbose HelloWorld这是磁盘操作系统窗口的运行结果复制出来如下图:
女:\哈瓦茨HelloWorld.java
F:\javap -verbose HelloWorld
Classfile /F:/HelloWorld.class
最后修改2017-12-24;大小426字节
讯息摘要5校验和4 efac 412 ef 483 c8 a3 Fe 7489 c 87d 15 c 8 c
编译自" HelloWorld.java "
公共类编译
次要版本:0
主要版本:52
标志:ACC_PUBLIC、ACC_SUPER
常量池:
#1=方法参考#6。#15 //java/lang/Object .init:()V
#2=Fieldref #16 .# 17//Java/lang/system。输出:Ljava/io/Print
溪流;
#3=String #18 //hello world!
#4=方法参考#19。# 20//Java/io/printstream。println:(Ljava/
lang/String;)V
#5=Class #21 //HelloWorld
#6=Class #22 //java/lang/Object
#7=Utf8初始化
#8=Utf8 ()V
#9=Utf8代码
#10=Utf8线路编号表
#11=Utf8干线
# 12=Utf8([Ljava/lang/String;)V
#13=Utf8源文件
# 14=Utf8 HelloWorld.java
# 15=和类型#7:#8 //init:()V
#16=Class #23 //java/lang/System
# 17=名称和类型# 24:# 25//out:Ljava/io/PrintStream;
#18=Utf8 hello world!
# 19=Class # 26//Java/io/PrintStream
# 20=name and type # 27:# 28//println:(Ljava/lang/String;)V
#21=Utf8 HelloWorld
#22=Utf8 java/lang/Object
#23=Utf8 java/lang/System
#24=Utf8输出
# 25=Utf8 Ljava/io/PrintStream;
#26=Utf8 java/io/PrintStream
#27=Utf8打印
# 28=Utf8(Ljava/lang/String;)V
{
公共hello world();
描述符:()V
标志:ACC_PUBLIC
代码:
stack=1,locals=1,args_size=1
0: aload_0
1: invokespecial #1 //方法Java/语言/对象.初始化
:()V
4:退货
行号表:
第一行:0
公共静态void main(Java。郎。string[]);
描述符:([Ljava/lang/String;)V
标志:ACC_PUBLIC,ACC_STATIC
代码:
堆栈=2,局部变量=1,参数大小=1
0:获取静态# 2//字段Java/lang/system。出局:Ljav
a/io/PrintStream;
3: ldc #3 //String hello world!
5: invokevirtual #4 //方法java/io/PrintStream.prin
tln:(Ljava/lang/String;)V
8:返回
行号表:
第3行:0
第四行:8
}
源文件:" HelloWorld.java "
女:\以上就是java .班级文件怎么看?的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。