从命令行执行Java比在IntelliJ中慢

比耶鲁姆

我编写了一个简单的阶乘程序,具有任意精度:

public class Fac {
    public static void main(String[] args) {
        int stop = 100000;

        long start = System.currentTimeMillis();
        BigInteger integer = new BigInteger("1");
        for(int i = 2; i <= stop; i++){
            integer = integer.multiply(new BigInteger(i +""));
        }

        System.out.println("It took: " + (System.currentTimeMillis() - start) + "ms");
        //System.out.println(integer);
    }
}

当我在IntelliJ中运行它时:

It took: 5392ms

当我在命令行中运行它时:

It took: 17919ms

命令行通过以下方式运行:

javac Fac.java
java Fac

我知道这不是衡量时间的最佳方法,但是差距太大了,没关系。为什么表现如此不同?

其他人也注意到了类似的区别,但是据我所知,他们的结论似乎与我的情况无关。

与命令行相比,为什么我的应用程序在IntelliJ中运行得更快?

http://grails.1312388.n4.nabble.com/Why-does-IntelliJ-IDEA-runs-faster-than-Windows-command-line-td3894823.html

维京史蒂夫

这是因为您正在启动jvm以使用不同的类路径,参数等运行程序。

如果您在IntelliJ中运行该程序,则将在Run窗口的第一行看到类似“ C:\ Program ...”的内容。

单击它以展开它,您将看到intellij运行程序时使用的所有参数(我在这里将示例分成几行)。

"C:\Program Files (x86)\Java\jdk1.8.0_40\bin\java"
-Didea.launcher.port=7532
 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.0.3\bin"
-Dfile.encoding=UTF-8
-classpath "C:\Program Files (x86)\Java\jdk1.8.0_40\jre\lib\charsets.jar;...etc..."
Fac

如果重复使用完全相同的参数(使用完全相同的jvm),那么当您手动运行应用程序时,您可能会看到类似的性能。

为您的系统设置PATHJAVA_HOME并且CLASSPATH被用于启动程序,如果你不完全指定它们默认情况下使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从命令行界面执行黄瓜Java测试

来自分类Dev

从命令行执行Java Mission Control

来自分类Dev

从命令行执行包的java程序时出错

来自分类Dev

在Windows 7中从命令行执行Python脚本

来自分类Dev

从命令行执行bash函数

来自分类Dev

Bash无法从命令行执行

来自分类Dev

从命令行在包中运行Java

来自分类Dev

在Linux中从命令行清除Java缓存

来自分类Dev

在Java中从命令行运行

来自分类Dev

您可以从命令行调用“慢猎豹”吗?

来自分类Dev

您可以从命令行调用“慢猎豹”吗?

来自分类Dev

如何从命令行在 Intellij idea 中运行 testng appium-java maven 项目构建?

来自分类Dev

Maven:从命令行执行,并在配置中多次执行

来自分类Dev

ant在eclipse中执行,但不是从命令行执行

来自分类Dev

能够从IntelliJ运行Java程序,但不能从命令行运行

来自分类Dev

Java类可以在IntelliJ中正常运行,但不能从命令行运行

来自分类Dev

如何从命令行运行从 Intellij 创建的 Java JAR

来自分类Dev

NullPointerException从命令行,不在IntelliJ调试器中

来自分类Dev

IntelliJ IDEA:从命令行安装插件

来自分类Dev

从命令行intellij将目录作为项目打开

来自分类Dev

从命令行更改Intellij HTTP代理

来自分类Dev

从命令行在Erlang代码中执行并发示例

来自分类Dev

从命令行和python API在docker exec中执行管道

来自分类Dev

从命令行执行URL,而无需在Windows中打开浏览器

来自分类Dev

在Mac OS X中从命令行在文件上执行“获取信息”

来自分类Dev

如何在Windows 7中从命令行执行ShortCut

来自分类Dev

从命令行执行Make文件中的IPython笔记本

来自分类Dev

从命令行执行URL,而无需在Windows中打开浏览器

来自分类Dev

从命令行执行查询时PostgreSQL编码问题

Related 相关文章

  1. 1

    如何从命令行界面执行黄瓜Java测试

  2. 2

    从命令行执行Java Mission Control

  3. 3

    从命令行执行包的java程序时出错

  4. 4

    在Windows 7中从命令行执行Python脚本

  5. 5

    从命令行执行bash函数

  6. 6

    Bash无法从命令行执行

  7. 7

    从命令行在包中运行Java

  8. 8

    在Linux中从命令行清除Java缓存

  9. 9

    在Java中从命令行运行

  10. 10

    您可以从命令行调用“慢猎豹”吗?

  11. 11

    您可以从命令行调用“慢猎豹”吗?

  12. 12

    如何从命令行在 Intellij idea 中运行 testng appium-java maven 项目构建?

  13. 13

    Maven:从命令行执行,并在配置中多次执行

  14. 14

    ant在eclipse中执行,但不是从命令行执行

  15. 15

    能够从IntelliJ运行Java程序,但不能从命令行运行

  16. 16

    Java类可以在IntelliJ中正常运行,但不能从命令行运行

  17. 17

    如何从命令行运行从 Intellij 创建的 Java JAR

  18. 18

    NullPointerException从命令行,不在IntelliJ调试器中

  19. 19

    IntelliJ IDEA:从命令行安装插件

  20. 20

    从命令行intellij将目录作为项目打开

  21. 21

    从命令行更改Intellij HTTP代理

  22. 22

    从命令行在Erlang代码中执行并发示例

  23. 23

    从命令行和python API在docker exec中执行管道

  24. 24

    从命令行执行URL,而无需在Windows中打开浏览器

  25. 25

    在Mac OS X中从命令行在文件上执行“获取信息”

  26. 26

    如何在Windows 7中从命令行执行ShortCut

  27. 27

    从命令行执行Make文件中的IPython笔记本

  28. 28

    从命令行执行URL,而无需在Windows中打开浏览器

  29. 29

    从命令行执行查询时PostgreSQL编码问题

热门标签

归档