老师问一个不是特别重要的问题
来源:2-7 计算机的层次与编程语言

mine4ever
2019-06-27
jvm 字节码 解释 机器码
解释器 是用字节码写的还是机器码 ?
写回答
1回答
-
哈哈,这个问题挺好的。
我们从Java环境讲起,在安装Java环境的时候,一般都需要安装jdk和jre两种东西,什么是jdk,什么是jre呢?
jdk是Java Development Kit,Java开发工具包,jdk包含javac这样的工具,javac就是可以将Java程序编译成.class字节码的工具。
jre是Java Runtime Environment,Java运行环境,也就是Java字节码被解析成机器码执行的地方。
jdk包含jre,jre不包含jdk。只安装jre不安装jdk,则我们只能执行.class而不能编译。
因而这里提到的解析器是包含在jre里面的,那jre包含哪些内容呢?
JVM就是在jre里面的,Java的字节码在JVM上执行,JVM屏蔽了底层不同系统的差异(在Windows和Linux可以运行同一个字节码程序无需重新编译)。
所以简单的来看,JVM就是Java字节码的解析器,那么JVM是什么语言写的呢?JVM既不是字节码写的也不是机器码写的,JVM是C++写的。
希望对你有所帮助。
622019-06-29
相似问题