2024 年 Clojure 状态调查!中分享您的想法。

欢迎!请参阅关于页面了解更多关于此工作如何进行的细节。

0
编译器

我的意思是,生成的字节码是否直接提供给 JVM,或者生成了一个 .class 文件并将字节码保存其中?另外,如果生成了一个文件,那么它是否为每个评估过的表达式生成?

1 答案

0

编辑

一般来说,所有 Clojure 代码都被编译成类中的字节码。如果从源码运行,这将由自定义类加载器动态完成并加载。您可以选择使用 compile 函数编译代码“提前”,并在磁盘上生成 .class 文件。

在 repl 中评估的一些简单顶层表达式仅需评估而无需编译和加载类。

by
可能在 "this is done dynamically" 中的 "dynamically" 并不清楚表示什么。
我认为值得一提的是,在这种情况下,字节码只存储在内存中,并未保存到磁盘。
by
非常感谢!
...