从Eclipse或Command提示符运行java

时间:2012-01-24 12:40:16

标签: java eclipse command-line

我想知道通过Eclipse IDE运行程序或使用命令行运行程序之间是否有任何区别?内存使用和性能方面。
我正在使用Java。

6 个答案:

答案 0 :(得分:3)

基本上,Eclipse运行与java.exe相同的JVM,因此在使用相同的JVM参数时不应该有任何性能下降(当然,如果你没有在调试模式下运行它)。

但是,由于Eclipse在启动之前管理了很多东西,如果你必须启动多个JVM,那么最好有一个执行JVM的批处理文件/ shell脚本,就像在这种情况下启动JVM的开销一样。来自Eclipse可能会明显更大(但是发布之后应该没有区别。)

答案 1 :(得分:2)

只要确保JVM选项匹配,只需运行通过Eclipse运行应该与通过命令行运行它相同。 Eclipse默认调用用于运行Eclipse本身的JVM,尽管可以通过运行配置对话框设置JVM和任何命令行选项。

然而,一个可能有显着差异的事实是,使用命令行意味着您可以启动应用程序而不会受到Eclipse的影响,Eclipse可能会占用大量CPU资源并且有点内存耗尽,同时运行。虽然通过Eclipse运行不会直接影响程序的执行,但它仍然可以通过它在同一台计算机上的存在而产生影响。

也就是说, 的区别,如果通过“通过命令行运行”,你也暗示了编译过程。 Eclipse使用ECJ,它自己的增量Java编译器,而不是与JDK捆绑在一起的javac实现。 ECJ有一些额外的扩展,但它并不总是与当前的JDK完全兼容 - 我偶尔发现生成的字节码存在差异,包括JDK编译器中没有的一些错误。

答案 2 :(得分:1)

Eclipse本身是一个带有一定开销的java应用程序,否则,没有。一般来说,命令行将胜过日食。

答案 3 :(得分:1)

我不会这么想的。

但很明显,当Eclipse打开时,它本身会占用内存。

可以保存运行配置,并且可以在Eclipse中更轻松地管理。

答案 4 :(得分:1)

我最好的想法是使用VisualVM来检查meomry和cpu差异,但是我会惊讶地看到一个巨大的差异。另一点是类路径设置,可能/可能会出现差异。

问候

答案 5 :(得分:0)

Eclipse中的“运行配置”对话框允许您设置将在命令行上设置的所有参数,例如堆大小。