采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
jvm 字节码 解释 机器码 解释器 是用字节码写的还是机器码 ?
哈哈,这个问题挺好的。
我们从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++写的。
希望对你有所帮助。
所以我可以理解为,JDK把程序源码编译成字节码,而编译好的字节码由JRE中的JVM解析成当前操作系统的机器码,最终操作系统执行程序
jvm应该是有多种实现的,不止于c++
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.7k 14
1.2k 13
1.4k 11