idea查看java文件的编码格式,idea查看字符编码

  idea查看java文件的编码格式,idea查看字符编码

  

目录

首先编写一个爪哇岛类StringDemo1.java经过编译后,生成StringDemo1.class文件使用jclasslib反编译工具爪哇岛开发工具包版本映射

 

  

首先编写一个java类 StringDemo1.java

公共类String demo 1 { public static void main(String[]args){ String str 1= AAA BBB ;系统。出去。println(str 1);String str2= cccstr2= dddsystem。出去。println(str 2);}}

 

  

经过编译后,生成 StringDemo1.class文件

使用想法查看编译之后的文件内容:

 

  ////IntelliJ IDEA从。班级文件重新创建的源代码//(由蕨类植物反编译器提供支持)//包JDK。Java。郎。字符串;public class String demo 1 { public String demo 1(){ } public static void main(String[]args){ String str 1= aaabbb ;系统。出去。println(str 1);string str 2= cccstr 2=str 2 dddsystem。出去。println(str 2);}}可以看出内容已经是经过想法反编译之后的了,并不能看到字节码内容。

  

使用jclasslib反编译工具

在想法中搜索插件jclasslib字节码查看器,然后进行安装,重启想法。

 

  再次打开StringDemo1.java文件,在想法菜单栏上打开查看-显示字节码,即可以看到字节码文件内容:

  //类版本52.0 (52)//访问标志0x 21公共类JDK/Java/lang/string/string演示1 {//编译自StringDemo1.java//:号访问标志0x 1 public init()V L0行号8 L0 a load 0 invoke专用Java/lang/object。init()V返回L1局部变量this Ljdk/Java/lang/string/string demo 1;L0 L1 0 MAXSTACK=1 MAXLOCALS=1//访问标志0x 9公共静态main([Ljava/lang/String;)V L0行号11 L0 LDC aaabbb号行号12 L1获得静态Java/lang/system。out : Ljava/io/PrintStream;load 1调用了虚拟Java/io/printstream。println(Ljava/lang/String;)V L2行号15 L2 LDC CCC ASTORE 2 L3行号16 L3 NEW Java/lang/StringBuilder DUP调用特殊Java/lang/StringBuilder。init()V ALOAD 2调用虚拟Java/lang/StringBuilder。append(Ljava/lang/String;)Ljava/lang/StringBuilder;LDC DDD 涉及虚拟Java/lang/String builder。append(Ljava/lang/String;)Ljava/lang/StringBuilder;INVOKEVIRTUAL Java/lang/stringbuilder。tostring()Ljava/lang/String;ASTORE 2 L4行号17 L4获取静态Java/lang/system。out : Ljava/io/PrintStream;ALOAD 2调用虚拟Java/io/printstream。println(Ljava/lang/String;18号线返回L6局部变量args[Ljava/lang/String;L6 0局部变量str 1 Ljava/lang/String;L1L6 1局部变量str 2 Ljava/lang/String;L3 L6 2 MAXSTACK=2 MAXLOCALS=3}以上编译内容是我在JDK1.8u202环境下进行编译的,所以开头才会有类别版本52.0 (52)的标识。

  至于字节码怎么读,就需要继续学习;

  爪哇虚拟机规范中有关于爪哇虚拟机指令集的相关资料,可以学习研究一下。

  随后还可以学习一下空对地导弹技术(Java字节码操控框架);

  

JDK版本映射

JDK版本班级版本J2SE 852 J2SE 751 J2SE 6.050 J2SE 5.049 JDK 1.448 JDK 1.347 JDK 1.246 JDK 1.145以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它。

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: