inf*_*k01 5 eclipse windows jvm
使用jvm.dll和java.exe作为运行Eclipse的JVM有什么区别?
免责声明
我已将此问题与答案一起发布,因为我发现此信息很有用,并希望与他人共享。
好的,只是为了解决一个混乱:Windows上的Eclipse全新安装在eclipse.ini文件中没有指定-vm配置。
让我们看看Equinox Launcher 官方文档中有关未指定-vm时的情况的说明(强调我的情况):
如果未指定-vm,则启动器首先在eclipse根目录的JRE目录中查找虚拟机,然后在搜索路径中查找。如果在任一位置都找到Java,则我们将寻找相对于该Java可执行文件的JVM 共享库(Window 上的jvm.dll,* nix平台上的libjvm.so)。
- 如果找到了JVM 共享库,我们将其加载并使用JNI调用API来启动虚拟机。
- 如果未找到JVM共享库,我们将执行Java启动器以新流程启动vm。
如您所见,首先搜索的是jvm.dll,只有在未找到的情况下,才使用Java启动器(即java.exe或javaw.exe)。
当使用jvm.dll时, Eclipse使用JNI Invocation API 在当前进程中启动vm 。您将在任务管理器中仅看到一个进程:
eclipse.exe
当使用javaw.exe(或java.exe)时,Eclipse执行该Java Launcher以在新进程中启动vm 。您将在任务管理器中看到两个进程:
1)eclipse.exe
2)javaw.exe(如果已配置,则为java.exe)
该javaw.exe的将是子进程中的(子进程)的eclipse.exe进程。
因此,选择取决于您。阅读下面的文章,它很好地解释和说明了使用jvm.dll或javaw.exe的可能后果:Eclipse.exe和Windows进程
最推荐使用的选项之一是为Eclipse 指定一个特定的JVM。这样做可以确保您完全确定将在哪个JVM Eclipse中运行,并使您免受可能更改系统的“默认” JVM的系统更改的影响。在此处了解更多信息:指定JVM
| 归档时间: |
|
| 查看次数: |
943 次 |
| 最近记录: |