Java编译和翻译

java

JVM:运行Java字节码(Java bytecode)的虚拟机

 

Java编译器:将Java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。

 

Java解释器:是JVM的一部分。Java解释器用来解释执行Java编译器编译后的程序。java.exe可以简单看成是Java解释器。

 

字节码文件是二进制文件吗?打开class文件可以看到CAFE BABE 0000 0033...其中CAFE BABE是固定的Class标志(也称魔数),0000和0033是次版本号和主版本号分别是0和51,51对应的是java1.7,也就是java的版本是1.7.0。class文件是用十六进制的,包括了魔数、版本号、常量、类中的字段方法(比如private int a = 33 会表达成相应的十六进制表达),所以说class文件严格意义上是二进制,但是不是机器直接执行的二进制,而是有象征标识的二进制,比如说0x0a是二进制1010,但是并不代表是10,也许对应的是常量的类型是method,这些需要JVM来解释。

以上是 Java编译和翻译 的全部内容, 来源链接: utcz.com/z/390369.html

回到顶部