Totally Confused with java.exe(完全与 java.exe 混淆)
问题描述
JDK 是 JRE 的超集.JDK 具有必要的工具,如 javac java.exe 调试器等 + JRE.但是 JRE 有一个特定的 JVM 实现.
The JDK is the superset of JRE. JDK has the necessary tools like javac java.exe debugger etc + JRE. But JRE has a particular implementation of JVM.
我的假设是 java.exe 或 java 应用程序启动器是解释器(如果我错了,请纠正我).此外,JVM 也进行解释.
My assumption is java.exe or the java application launcher is the interpreter (please correct me if I'm wrong). Also, JVM does the interpretation as well.
最后解释器是 JVM 的一部分还是 JDK 工具的一部分?请解释一下.
Finally is the interpreter part of JVM or part of JDK tools? Please explain.
推荐答案
java.exe 既不是 JVM 也不是解释器.它是一个启动器 - 一个通常用 C 编写的小程序,它执行以下操作:
java.exe
is neither a JVM nor an interpreter. It is a launcher - a small program typically written in C which does the following:
- 找到已安装的 JRE
- 加载 JVM 动态库 (
jvm.dll
) - 使用 调用 API
- 找到主类并使用 main() 方法/jniTOC.html">JNI
- Locates an installed JRE
- Loads JVM dynamic library (
jvm.dll
) - Creates a new Java Virtual Machine using the Invocation API
- Finds the main class and calls the
main()
method using JNI
JRE 大致包括
- JVM -
jvm.dll
- 类库 -
rt.jar
- 原生库 - 类库和操作系统平台之间的层,例如
java.dll
、net.dll
、nio.dll
、awt.dll
等 - 资源 - 字体、属性、字符串等
现在,字节码解释器、字节码验证器、类加载器、JIT 编译器、垃圾收集器和许多其他很酷的东西 - 都是 Java 虚拟机的组成部分.
Now, the Bytecode Interpreter, the Bytecode Verifier, the Class Loader, the JIT compiler, the Garbage Collector and many other cool stuff - are all parts of the Java Virtual Machine.
这篇关于完全与 java.exe 混淆的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:完全与 java.exe 混淆


基础教程推荐
- Java Swing计时器未清除 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 多个组件的复杂布局 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- 从 python 访问 JVM 2022-01-01