java.exe,javaw.exe和jvm.dll之间的区别

Man*_*ish 28 java jvm

使用java.exe,javaw.exe和jvm.dll运行应用程序(例如,Eclipse)有什么区别?另外,它在性能方面有什么不同吗?

JBe*_*ert 45

  • jvm.dll是JVM的实际Windows实现(或更好,主要入口点).C或C++应用程序可以使用此DLL来运行嵌入式Java运行时,这将允许应用程序直接与JVM接口,例如,如果他们想要将Java用于其GUI.

  • java.exe是DLL的包装器,这样人们就可以实际运行Java类而无需自定义启动器应用程序.它是一个Win32控制台应用程序,因此如果不从批处理文件运行exe,Windows将打开一个新的命令提示符窗口.

  • javaw.exe是一个包装器java.exe,但它是一个Win32 GUI应用程序.Windows不必打开命令提示符窗口,这正是您想要运行打开自己的窗口的GUI应用程序的窗口.

编辑:除了进程创建和初始化的开销之外,这些应该不会对性能产生任何影响.

最重要的是:它不应该重要; 如果你担心这个问题,你可能真的想让Java继续运行而不是数百次启动它.


Tom*_*icz 8

  • java.exe- 从包含指定类的main()方法开始运行Java程序(需要指定类和/或JAR).

  • javaw.exe - 如上所述,但不创建Windows命令提示符(适用于不需要控制台的Swing程序).

  • jvm.dll - 这不是一个可运行的,而是一个图书馆.可能由上述两个程序使用.