通过普通java命令启动应用程序有什么区别,而不是通过Linux中的libjvm.so或Windows中的jvm.dll直接调用JVM?
最近我在一个论坛上看到,使用dll或.so文件启动eclipse会提供更好的性能。我想知道这是怎么发生的。
感谢。
答案 0 :(得分:5)
如果他们想要围绕Java核心包装他们自己的功能,那么人们通常会构建jvm.dll,有时候很难从Java看起来像“本机”的东西。一个很好的例子就是Eclipse,他们希望在启动之前弹出启动画面并执行其他操作。对于其他产品,Java只是其工作量的一小部分(例如:需要在某些时候与Java桥接的大型C ++应用程序)。
从表现的角度来看,这是无关紧要的。这就是你希望如何为Eclipse这样的东西“适应和完成”。
答案 1 :(得分:3)
link讨论了Eclipse的启动;这可能更快,因为通过使用-vm
参数来指定JRE,Eclipse可执行文件不必搜索系统以寻找适当的JRE来启动(这会产生磁盘I / O,并且可能涉及检测JRE的版本)。你没有加速Java,你正在加速native launcher。