2024年Clojure调查问卷中分享您的想法!

欢迎!请查看关于页面,了解有关这种方式的一些更多信息。

0投票
编译器

我的意思是,生成的字节码是直接传递给JVM,还是创建一个.class文件并将字节码保存在那里?另外,如果生成了一个文件,是否为每个评估的表达式都生成了文件?

1 个答案

0投票

编辑

通常情况下,所有Clojure代码都会编译成类中的字节码。如果直接从源代码运行,这会动态完成,并通过自定义类加载器加载。您可以选择使用compile函数“在编译前”编译代码,并在磁盘上生成.class文件。

在REPL中评估的一些简单顶层表达式可以直接评估而无需编译和加载类。

在"这是动态完成的"中,“动态地”的含义可能并不明确。
我认为值得提及的是,在这种情况下,字节码仅存储在内存中,并未保存到磁盘。
非常感谢!
...