.java .class 以及机器码 关系

java通过java编译器到class再通过jvm解释器到机器码(jvm开始操作指令集)_浅释的思旭的博客-CSDN博客
image

我们在编译器(IDE)中编写.java文件
编译器自动将 .java文件编译成 .class文件 (字节码文件)
jvm自动将 .class文件解释成机器码 然后jvm操作指令集执行代码

java的编译器分平台 但是编译成的字节码文件不分平台 只看你有没有我要的虚拟机 有的话就能执行
所以java具备一次编译,到处运行的特点

.class字节码文件是Java独有的吗? (csdn.net)
java跨平台原理,其他语言为什么不可以_百度知道 (baidu.com)

.class是java提出的 用于jvm运行的文件
其他语言也可以编译成.class 但是一般没必要
例如c/c++都是直接针对特点的平台编译成对应的机器码文件 这样效率更高

image

.java编译成.class 与 .class反编译成.java_小爷欣欣-CSDN博客
作为编程代码和机器码的中间文件——字节码文件 具备可读性,也可以反编译回 .java

对于 .java还有 .class 都具备可读性 可以在IDE中查看
image

Notepad++查看、编辑二进制文件——安装附加组件HexEditor实现_Eric_Blog_CSDN的博客-CSDN博客_notepad打开二进制文件

但是对于notepad++ 原生版本只能查看 .java 无法查看 .class
如果想查看 需要安装名为HexEditor的插件
image

posted @ 2021-08-11 11:36  夏·舍  阅读(138)  评论(0编辑  收藏  举报