关于javac编译的问题
来源:6-2 平台无关性如何实现
莨菽菽
2020-04-23
图1
问题1:不是说.class文件是存储java文件翻译成的二进制字节码么?
图2
我理解的二进制应该是这样的
问题2:javap -c的说明是反汇编,意思是图1是编译成的汇编语言么?
写回答
1回答
-
同学好,
1.字节码文件(Java中是16进制文件)是经过编译器预处理过的一种文件,是Java的执行文件存在形式,但是文件本身是二进制文件(不是里面的内容,是整个文件),而这个二进制文件是不可以被系统直接执行的,而是需要虚拟机解释执行。
2、不能这样反推,因为会经由jvm自带的工具对文件进行解析,转换成源码,编译和反汇编的异同主要看编译器和反汇编器,因为是他们直接在处理源代码或者二进制的
032020-04-25
相似问题