gpt4 book ai didi

java - JVM 实现的语言(如 Jython)是在底层使用 Java 还是使用 JVM native ?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:02 24 4
gpt4 key购买 nike

在使用 JVM 的语言中,比如 Jython、JRuby 或任何非 Java 特定的语言,Java 是在某处“底层”使用的语言吗?

实现是否意味着:

Language Ported to use the JVM + Java somewhere + JVM?

例如,Jython 是用 Java 编写的还是使用其他东西来利用 JVM?

最佳答案

视情况而定。

部分语言的标准库可以用java实现。编译器/解释器同上。其他对于引导不是必需的部分甚至可以用语言本身编写。

用户代码本身最初可能通过解释器运行,但后来编译为字节码。此外,可以根据运行时收集的类型配置文件进一步优化生成的字节码。如果字节码的某些假设无效,则字节码可能会返回给解释器。这类似于热点的解释器/c1/c2 层和许多其他 JIT 环境,尽管是在更高的抽象级别上。

但是解释器+JIT只是一种可能的方式。例如,Scala 是 AOT 编译为字节码的。

并且他们还可以使用 C 绑定(bind)来实现各自语言的标准库的功能,这些功能与 JDK 标准库没有 1:1 映射。

关于java - JVM 实现的语言(如 Jython)是在底层使用 Java 还是使用 JVM native ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com