欢迎!请参阅关于页面了解更多关于此工作如何进行的细节。
我的意思是,生成的字节码是否直接提供给 JVM,或者生成了一个 .class 文件并将字节码保存其中?另外,如果生成了一个文件,那么它是否为每个评估过的表达式生成?
一般来说,所有 Clojure 代码都被编译成类中的字节码。如果从源码运行,这将由自定义类加载器动态完成并加载。您可以选择使用 compile 函数编译代码“提前”,并在磁盘上生成 .class 文件。
compile
在 repl 中评估的一些简单顶层表达式仅需评估而无需编译和加载类。