【发布时间】:2012-05-16 22:28:09
【问题描述】:
有没有办法让 Java 的启动时间合理(不明显),从而使其适合编写命令行脚本(不是长期存在的应用程序)?
要演示该问题,请在我的 Macbook Pro 上使用 Java 和 JavaScript 编写一个简单的 Hello World 程序(使用 node.js 运行):
$ time java T
Hello world!
real 0m0.352s
user 0m0.301s
sys 0m0.053s
$ time node T.js
Hello world!
real 0m0.098s
user 0m0.079s
sys 0m0.013s
Java 版本有明显的滞后,而 Node.js 则不然。这使得命令行工具看起来没有响应。 (如果他们依赖多个类,则尤其如此,这与上面的简单 T.java 不同。
【问题讨论】:
-
Java 在虚拟机中运行。 JavaScript 直接从代码中执行。尝试对较大的程序(较小的开销)或仅对执行时间(无虚拟机延迟)进行计时。
-
您可能想了解 Java 快速入门:java.com/en/download/help/quickstarter.xml 和 javalobby.org/java/forums/t102150.html
-
Java 不适合编写命令行脚本。还有许多其他语言更适合它。为工作使用适当的工具。
-
@GuillaumePolet 尝试主要为 OSX/Unix 编写代码,但谢谢。
-
@skaffman 不幸的是,有许多库的最佳接口是 Java,例如ANTLR(我知道有 C 目标选项,但它与代码不同步,是一种 Java-in-C 风格的代码。)
标签: java