是否存在绕过编译的Java解释器?

时间:2016-09-19 20:13:01

标签: java groovy

在Java中编译和运行一个简单的HelloWorld大约需要1秒钟。

$ time javac HelloWorld.java 

real    0m0.659s
user    0m1.203s   <-- 1.2s
sys     0m0.113s

为了比较,Lua可以在大约0.002秒内完成相同的操作。

在一些(不可否​​认的)不寻常的应用程序中,动态生成了数千个短期运行的Java应用程序,因此1秒可以转换为小时的编译

我想知道是否有Java解释器完全绕过编译到*.class文件?

(我知道有Groovy,但它不是Java的严格超集)

1 个答案:

答案 0 :(得分:1)

因此,如果您的源语言是 Java ,那么确实没有。有一些工具可以让你从REPL加载和解释Java,但Java的语义实际上取决于能否解决类关系等问题。

但是,有一些JVM语言可以在没有预编译的情况下使用,例如Clojure,Scala和Groovy。