【JVM学习】将java文件编译成字节码文件,再到反编译,字节码指令剖析

水深无声 2022-04-12 09:50 1039阅读 0赞

一、新建HelloWorld.java文件,内容如下(简易):

  1. public class HelloWorld {
  2. public int firstStack() {
  3. int a = 100;
  4. int b = 100;
  5. int c = 100;
  6. return (a+b)*c;
  7. }
  8. }

二、将后缀名为java的源码文件编译成可被JVM可执行的二进制文件:
找到你要反编译的java文件,cmd输入命令:

  1. javac HelloWorld.java

然后敲回车。如下图:
在这里插入图片描述
用记事本打开编译后的class文件,会是一串看不懂的乱码:
在这里插入图片描述

三、反编译二进制文件文件:
找到你要反编译的class文件,cmd输入命令:

  1. javap -c -verbose HelloWorld.class

然后敲回车。如下图:
在这里插入图片描述
在反编译后的代码中,可以看到整个class文件执行的过程。

四、Java字节码指令解释:
Java字节码指令收集大全:https://www.cnblogs.com/longjee/p/8675771.html

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!


持续更新中…

如有对思路不清晰或有更好的解决思路,欢迎与本人交流,QQ群:273557553,个人微信:
你遇到的问题是小编创作灵感的来源!


发表评论

表情:
评论列表 (有 0 条评论,1039人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java编译字节文件

    > 如何查看 Java 的字节码文件? 在 Java 中,字节码文件`.class`实际上是二进制文件,并不能直接查看。要想查看,我们只能通过反编译对其进行解析,然后查看解析

    相关 JVM 字节文件

    计算机不能直接运行java代码,要先运行虚拟机,再由java虚拟机运行编译后java代码。 > 为什么不能直接运行java代码? 计算机所有的操作都是通过一个个指令集汇集后