千家信息网

java查看class文件的方法

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,本篇内容主要讲解"java查看class文件的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java查看class文件的方法"吧!1,首先使用java
千家信息网最后更新 2025年01月25日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安全错误 数据库的锁怎样保障安全 一个服务器一个ip多个网站降权 网络安全与隐私保护条例 计算机网络技术的认知和理解 郑州软件开发周帅帅 网络安全书签简单好看商品 建筑能耗管理服务器 广西外国语学院网络技术员张宇 服务器T340几个usb接口 如何做好企业的网络安全防护工作 亿赢通互联网科技怎么样 mc电脑版服务器怎么玩 现如今的网络安全技术有哪些 华为服务器销售工程师 vs2010内置sql数据库 计算网络安全就业方向 国家网络安全法 英文 国家如何强调网络安全 网络安全策略体系 软件开发哪家好熊掌网络专业 学校网络安全专业培训资料 怎么判断dns服务器是否正常 服务器cosdown 信阳邮储银行网络安全宣传 xlist数据库 石景山区进口软件开发推广 在数据库怎么转义 服务器远程桌面可以几个人用 数据库配置助手出现错误的原因 无锡网络安全管理体系证书认证 软件开发可以设计网页吗
0