老师问一个不是特别重要的问题

来源:2-7 计算机的层次与编程语言

mine4ever

2019-06-27

jvm 字节码 解释 机器码
解释器 是用字节码写的还是机器码 ?

写回答

1回答

咚咚呛

2019-06-27

哈哈,这个问题挺好的。

我们从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++写的。

希望对你有所帮助。


6
2
LK90
jvm应该是有多种实现的,不止于c++
2019-06-29
共2条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程