java查看class文件的方法
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"java查看class文件的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java查看class文件的方法"吧!1,首先使用java
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
明日之后秋日森林服务器有多少人
广州的网络安全问题
冗余在数据库会带来什么问题
安徽工控软件开发大概多少钱
计算机三级网络技术填空解析
2019华为网络安全工程师待遇
网络安全管理制度评审
导航软件开发步骤
自荐书大专计算机网络技术
音乐服务器出错
sql在数据库创建表空间
新数据库技术
上海数据网络技术来电咨询
服务器的几用户几核心是什么意思
软件开发和程序员的关系
指纹识别软件开发
全词匹配数据库
服务器错误请联系管理员
嵌入式文档型数据库
菲律宾菠菜业软件开发
广告灯箱软件开发步骤
网络安全漏洞主要有哪些
宽带服务器出错
传奇世界老版本服务器
软件开发和程序员的关系
软件开发接口管理
山东省瀚森网络技术
腾讯云服务器安全策略
无锡应用软件开发代码
客源软件开发商