在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的严格超集)
答案 0 :(得分:1)
因此,如果您的源语言是 Java ,那么确实没有。有一些工具可以让你从REPL加载和解释Java,但Java的语义实际上取决于能否解决类关系等问题。
但是,有一些JVM语言可以在没有预编译的情况下使用,例如Clojure,Scala和Groovy。