字节码是jvm语言,java 不是。

(843) 267-1892732-356-8398coal pulverizer937-336-6231

jvm 的语言

字节码是jvm 的语言。jvm 可以通过翻译字节码来执行指令。 那么任何一门语言如果可以翻译为字节码,那么就可以使用jvm来执行。 字节码作为一种中立的计算机治理表示方式,为众多的语言在jvm 上执行提供了可能。

Java 语言和字节码

我们可以通过javac (java编译器)将java翻译成字节码。从某种程度上来说java 和jvm 没有直接的联系,如果把java 直接翻译为机器码,那么java 的执行就不用依赖于jvm了。 java 是一种计算机语言,提供了一种现实世界到计算机世界的抽象表达方式。 最终怎么执行,依赖于编译器。我们可以使用javac 来编译java代码,也可以使用gcc。 既可以将java 代码编译为class(字节码), 也可以编译为机器语言( jit做的就是这件事情)。

对字节码名字的理解

计算机通过执行指令,来实现制定的操作。 指令可以被抽象成由两部分组成,操作码( opcode) 和 操作数( operand)。 操作吗理解为要执行的动作, 操作数理解为执行动作需要的参与者。 例如给计算机加电, 操作码是加电操作,操作数为计算机。当然做的事情更简单一些。 字节码,就是说操作码是用一个字节来表示的。这就限制了操作码的个数不错过256个。当然class 文件中的一条指令可以由多个字节组成, 一条指令不光包括了操作码,还包括操作数。 当然字节码我们无法直接理解。jdk 中提供了工具(javap) 可以将字节码翻译成文字的形式,就像汇编是机器码的文字表现形式。

理解一段简单的字节码

这样对字节码有了大体的认识。


√Lock-死锁 cache-in_threading (877) 660-5254 linux_shell-xargs (782) 539-4664 理解JVM-字节码 理解JVM-引用类型

Feedback is welcome.
Any question to abbc_796@163.com