java查看class文件的方法
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容主要讲解"java查看class文件的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java查看class文件的方法"吧!1,首先使用java
千家信息网最后更新 2024年11月23日java查看class文件的方法
本篇内容主要讲解"java查看class文件的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java查看class文件的方法"吧!
1,首先使用javac编译文件
2,使用javap工具打开编辑出来的class文件
javap -verbose SyncTestDemo01.class
会得到如下结果:
D:\idea_workspace\basic_demo\out\production\basic_demo>javap -verbose SyncTestDemo01.classClassfile /D:/idea_workspace/basic_demo/out/production/basic_demo/SyncTestDemo01.class Last modified 2019-8-25; size 863 bytes MD5 checksum a021136873e306367959a587cdbadbd6 Compiled from "SyncTestDemo01.java"public class SyncTestDemo01 minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPERConstant pool: #1 = Methodref #12.#28 // java/lang/Object."":()V #2 = Long 5000l #4 = Methodref #29.#30 // java/lang/Thread.sleep:(J)V #5 = Class #31 // java/lang/InterruptedException #6 = Methodref #5.#32 // java/lang/InterruptedException.printStackTrace:()V #7 = Fieldref #33.#34 // java/lang/System.out:Ljava/io/PrintStream; #8 = String #35 // synchronized for method #9 = Methodref #36.#37 // java/io/PrintStream.println:(Ljava/lang/String;)V #10 = String #38 // synchronized for method no method #11 = Class #39 // SyncTestDemo01 #12 = Class #40 // java/lang/Object #13 = Utf8 #14 = Utf8 ()V #15 = Utf8 Code #16 = Utf8 LineNumberTable #17 = Utf8 LocalVariableTable #18 = Utf8 this #19 = Utf8 LSyncTestDemo01; #20 = Utf8 testSync #21 = Utf8 e #22 = Utf8 Ljava/lang/InterruptedException; #23 = Utf8 StackMapTable #24 = Class #31 // java/lang/InterruptedException #25 = Utf8 test01 #26 = Utf8 SourceFile #27 = Utf8 SyncTestDemo01.java #28 = NameAndType #13:#14 // " ":()V #29 = Class #41 // java/lang/Thread #30 = NameAndType #42:#43 // sleep:(J)V #31 = Utf8 java/lang/InterruptedException #32 = NameAndType #44:#14 // printStackTrace:()V #33 = Class #45 // java/lang/System #34 = NameAndType #46:#47 // out:Ljava/io/PrintStream; #35 = Utf8 synchronized for method #36 = Class #48 // java/io/PrintStream #37 = NameAndType #49:#50 // println:(Ljava/lang/String;)V #38 = Utf8 synchronized for method no method #39 = Utf8 SyncTestDemo01 #40 = Utf8 java/lang/Object #41 = Utf8 java/lang/Thread #42 = Utf8 sleep #43 = Utf8 (J)V #44 = Utf8 printStackTrace #45 = Utf8 java/lang/System #46 = Utf8 out #47 = Utf8 Ljava/io/PrintStream; #48 = Utf8 java/io/PrintStream #49 = Utf8 println #50 = Utf8 (Ljava/lang/String;)V{ public SyncTestDemo01(); descriptor: ()V flags: ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object." ":()V 4: return LineNumberTable: line 1: 0 LocalVariableTable: Start Length Slot Name Signature 0 5 0 this LSyncTestDemo01; public synchronized void testSync(); descriptor: ()V flags: ACC_PUBLIC, ACC_SYNCHRONIZED Code: stack=2, locals=2, args_size=1 0: ldc2_w #2 // long 5000l 3: invokestatic #4 // Method java/lang/Thread.sleep:(J)V 6: goto 14 9: astore_1 10: aload_1 11: invokevirtual #6 // Method java/lang/InterruptedException.printStackTrace:()V 14: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream; 17: ldc #8 // String synchronized for method 19: invokevirtual #9 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 22: return Exception table: from to target type 0 6 9 Class java/lang/InterruptedException LineNumberTable: line 5: 0 line 8: 6 line 6: 9 line 7: 10 line 9: 14 line 10: 22 LocalVariableTable: Start Length Slot Name Signature 10 4 1 e Ljava/lang/InterruptedException; 0 23 0 this LSyncTestDemo01; StackMapTable: number_of_entries = 2 frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/InterruptedException ] frame_type = 4 /* same */ public void test01(); descriptor: ()V flags: ACC_PUBLIC Code: stack=2, locals=1, args_size=1 0: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #10 // String synchronized for method no method 5: invokevirtual #9 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return LineNumberTable: line 13: 0 line 14: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this LSyncTestDemo01;}SourceFile: "SyncTestDemo01.java"
到此,相信大家对"java查看class文件的方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
方法
内容
学习
实用
更深
兴趣
实用性
实际
工具
操作简单
更多
朋友
结果
网站
频道
查询
编译
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
突出安全保障提升网络安全防护力
芜湖享游网络技术招聘
网络安全认证包括
软件版本过低关闭服务器
天下图空间大数据库
10年Java软件开发
优似腾软件开发招聘
安防监控管理服务器
计算机网络技术 试卷
YESORNO下载软件开发
软件开发自学免费课程
谁是你的客户 软件开发
wps怎样比对 两列数据库
redis数据库应用案例
武汉wms软件开发
上海数据网络技术标准
台服数据库默认密码
分布式数据库弹性计算
数据库安全保护功能
换服务器需要解绑域名吗
软件开发iso27000
sol数据库
互联网金融科技创新方法
关于网络安全安全周的论述
cv数据库
服务器到期资源释放
河南服务器硬盘性能
戴尔服务器哪里维修
网络安全的危害性的作文开头
计算机网络技术个人求职简历