三种方式查看Java class的字节码

一、命令行方式

public class Hello
{
    public void say(){
        Hello he = new Hello();
        System.out.println("hello world");
    }
}

首先使用命令javac D:\Hello.java,将java文件编译成Hello.class文件。

使用javap -c D:\Hello.class便可以在dos窗口里看到我们需要的字节码文件:

public class Hello {
  public Hello();
    Code:
       0: aload_0
       1: invokespecial #1  
       4: return
 
  public void say();
    Code:
       0: new           #2      // class Hello
       3: dup
       4: invokespecial #3      // Method "<init>":()V
       7: astore_1
       8: getstatic     #4       
      11: ldc           #5      // String hello world
      13: invokevirtual #6      
      16: return
}

二、外接工具的方式

Hello.java编译成Hello.class文件,然后下载Java Bytecode Editor,解压,直接运行jbe.sh即可看到UI面板,打开Hello.class文件即可看到类似下图的目录,将能看到非常丰富的类信息
在这里插入图片描述

三、IDE内部插件工具

!在Idea中安装插件:jclasslib bytecode viewer,打开一个java文件,对java文件,然后面板上View-Show bytecode with jclasslib,此时在ide的右边就会看到类似下图的界面,非常丰富的类信息。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值