繁体   English   中英

完全与java.exe混淆

[英]Totally Confused with java.exe

JDK是JRE的超集。 JDK具有必要的工具,例如javac java.exe调试器等+ JRE。 但是JRE具有JVM的特定实现。

我的假设是java.exe或Java应用程序启动器是解释器(如果我错了,请纠正我)。 同样,JVM也进行解释。

最后,解释器是JVM还是JDK工具的一部分? 请解释。

java.exe既不是JVM也不是解释器。 它是一个启动器 -通常用C编写的一个小程序,它执行以下操作:

  1. 找到已安装的JRE
  2. 加载JVM动态库( jvm.dll
  3. 使用调用API创建新的Java虚拟机
  4. 查找主类并使用JNI调用main()方法

JRE大致包括

  1. JVM- jvm.dll
  2. 类库rt.jar
  3. 本机库-类库和OS平台之间的层,例如java.dllnet.dllnio.dllawt.dll等。
  4. 资源-字体,属性,字符串等。

现在,字节码解释器,字节码验证器,类加载器,JIT编译器,垃圾收集器和许多其他很酷的东西-都是Java虚拟机的组成部分。

@ karthik4621 java.exe / javaw应用程序是JRE的一部分,进入JRE安装目录以查找bin文件夹,以查找可执行文件,并且您发现与JDK捆绑在一起的java.exe也相同:)以获得关于该问题的更多见解建议您通读oracle文档以及快速了解JDK / JRE安装位置的内容–

没错,java.exe是JVM(Java虚拟机)的解释器,而JVM是通过与底层操作系统进行通信来执行代码的地方

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM