怎么使用IDEA查看java文件编译后的字节码内容
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"怎么使用IDEA查看java文件编译后的字节码内容"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么使用IDEA查看java文件编译后的字节
千家信息网最后更新 2026年11月02日怎么使用IDEA查看java文件编译后的字节码内容
这篇文章主要介绍"怎么使用IDEA查看java文件编译后的字节码内容"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么使用IDEA查看java文件编译后的字节码内容"文章能帮助大家解决问题。
首先编写一个java类 StringDemo1.java
public class StringDemo1 { public static void main(String[] args) { String str1 = "aaa" + "bbb"; System.out.println(str1); String str2 = "ccc"; str2 += "ddd"; System.out.println(str2); }}经过编译后,生成 StringDemo1.class文件
使用IDEA查看编译之后的文件内容:
//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package jdk.java.lang.string;public class StringDemo1 { public StringDemo1() { } public static void main(String[] args) { String str1 = "aaabbb"; System.out.println(str1); String str2 = "ccc"; str2 = str2 + "ddd"; System.out.println(str2); }}
可以看出内容已经是经过IDEA反编译之后的了,并不能看到字节码内容。
使用jclasslib反编译工具
在IDEA中搜索插件jclasslib bytecode viewer,然后进行安装,重启IDEA。
再次打开StringDemo1.java文件,在IDEA菜单栏上打开View -> Show Bytecode,即可以看到字节码文件内容:
// class version 52.0 (52)// access flags 0x21public class jdk/java/lang/string/StringDemo1 { // compiled from: StringDemo1.java // access flags 0x1 public ()V L0 LINENUMBER 8 L0 ALOAD 0 INVOKESPECIAL java/lang/Object. ()V RETURN L1 LOCALVARIABLE this Ljdk/java/lang/string/StringDemo1; L0 L1 0 MAXSTACK = 1 MAXLOCALS = 1 // access flags 0x9 public static main([Ljava/lang/String;)V L0 LINENUMBER 11 L0 LDC "aaabbb" ASTORE 1 L1 LINENUMBER 12 L1 GETSTATIC java/lang/System.out : Ljava/io/PrintStream; ALOAD 1 INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V L2 LINENUMBER 15 L2 LDC "ccc" ASTORE 2 L3 LINENUMBER 16 L3 NEW java/lang/StringBuilder DUP INVOKESPECIAL java/lang/StringBuilder. ()V ALOAD 2 INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder; LDC "ddd" INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder; INVOKEVIRTUAL java/lang/StringBuilder.toString ()Ljava/lang/String; ASTORE 2 L4 LINENUMBER 17 L4 GETSTATIC java/lang/System.out : Ljava/io/PrintStream; ALOAD 2 INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V L5 LINENUMBER 18 L5 RETURN L6 LOCALVARIABLE args [Ljava/lang/String; L0 L6 0 LOCALVARIABLE str1 Ljava/lang/String; L1 L6 1 LOCALVARIABLE str2 Ljava/lang/String; L3 L6 2 MAXSTACK = 2 MAXLOCALS = 3} JDK版本映射
| JDK版本 | class版本 |
|---|---|
| J2SE 8 | 52 |
| J2SE 7 | 51 |
| J2SE 6.0 | 50 |
| J2SE 5.0 | 49 |
| JDK 1.4 | 48 |
| JDK 1.3 | 47 |
| JDK 1.2 | 46 |
| JDK 1.1 | 45 |
关于"怎么使用IDEA查看java文件编译后的字节码内容"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
内容
文件
编译
字节
版本
知识
行业
不同
实用
再次
实用性
实际
工具
插件
文章
方法
更多
案例
知识点
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云信互联网科技有限公司
互联网品科技
工业互联网科技新基建
互联网公司 科技公司
紫鲸互联网科技
世界互联网领先科技成果
互联网科技咨询
顶级互联网科技成果有哪些
南山科技园互联网公司有哪些
互联网科技公司实习生
阿大互联网科技有限公司
互联网科技商业
互联网科技扶贫时间
佛山市拉法互联网科技有限公司
互联网金融科技公司的优势
电子商务与互联网科技的关系
互联网风格科技公司名称
互联网科技包装股
杭州融税互联网科技有限公司
10位科技互联网大佬
中关村互联网科技集团
金融科技创新监管互联网金融
深圳艾佳互联网科技
广州恒生互联网科技有限
江阴互联网智能科技产品进口
宜昌元轩互联网科技有限公司
深圳市罗太互联网科技有限公司
风投北京互联网科技
容联科技互联网电商
银川新华互联网科技学校原画