IDEA 如何查看 class 文件反编译后的内容

简介: IDEA 如何查看 class 文件反编译后的内容

有时候,我们需要查看 IDEA 编译后的 class 文件是什么样子的,字节码不太能看得懂,就需要再进行反编译。怎么做呢?


项目的目录下有一个 target,根据报名找到对应的 class 文件双击打开即可。


image.png


IDEA 默认会使用 Fernflower 对字节码文件进行反编译。反编译后的内容如下所示。


//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.cmower.java_demo.stackoverflow;
public class Cmower1 {
    public Cmower1() {
    }
    public static void main(String[] args) {
        String[] names = new String[]{"沉", "默", "王", "二"};
        String[] var2 = names;
        int var3 = names.length;
        for(int var4 = 0; var4 < var3; ++var4) {
            String name = var2[var4];
            System.out.println(name);
        }
    }
}


源文件长什么样子呢?


package com.cmower.java_demo.stackoverflow;


public class Cmower1 {

public static void main(String[] args) {

String[] names = { "沉", "默", "王", "二" };


   for (String name : names) {

       System.out.println(name);

   }


}

}


可以看得出,javac 会帮助我们对源文件进行一些编译优化。比如说:


1){}声明的数组最终还是用的 new 关键字。

2)增强的 for 循环最终还是变成了普通的 for 循环语句。


最近才开始使用 IDEA,遇到不少小问题,我一一总结了一下。大佬们请略过。


相关文章
|
1天前
|
Java Maven
idea中maven项目pom文件Could not acquire lock(s)
idea中maven项目pom文件Could not acquire lock(s)
|
1天前
idea如何配置不显示某些文件
【4月更文挑战第18天】idea如何配置不显示某些文件
30 2
|
1天前
让VSCode的快捷键切换为WebStorm/IDEA的快捷键、修改颜色主题(深色模式)、文件图标主题
让VSCode的快捷键切换为WebStorm/IDEA的快捷键、修改颜色主题(深色模式)、文件图标主题
|
1天前
|
Java 测试技术 开发工具
IntelliJ IDEA中执行@Test单元测试时报错Class not found: "..."终极办法
IntelliJ IDEA中执行@Test单元测试时报错Class not found: "..."终极办法
84 0
|
1天前
|
IDE Java Maven
解决 idea maven项目启动项目不编译target 文件问题
解决 idea maven项目启动项目不编译target 文件问题
122 2
|
1天前
|
Java Maven
IDEA Maven SpringBoot配置POM文件
IDEA Maven SpringBoot配置POM文件
40 0
|
1天前
|
算法
IDEA隐藏指定文件
IDEA隐藏指定文件
24 0
|
1天前
|
Java
Idea如何方便的查看Java字节码文件😁
Idea如何方便的查看Java字节码文件😁
61 0
|
1天前
|
Unix Linux Shell
【文件格式问题】文件格式 Windows、Unix/Linux、Mac 导致的问题及处理(idea 或 notepad++ 档案格式转换方法)
【文件格式问题】文件格式 Windows、Unix/Linux、Mac 导致的问题及处理(idea 或 notepad++ 档案格式转换方法)
66 0
|
1天前
|
Java
IDEA安装class文件分析工具(binEd 和 JClassLib)
IDEA安装class文件分析工具(binEd 和 JClassLib)
72 0