这些语言与 Java 有很大不同,例如 OO 系统、类型系统(最值得注意的)。
真正的问题是 JVM 是否在幕后跟踪对象? JVM 内部是否存在对象?此类语言的创建者是否有责任与 Java 世界进行互操作,或者“默认”实现?
最佳答案
The actual question is whether JVM keeps track of objects under the hood?
是的,确实如此。垃圾收集是 JVM 的职责。
Is there an object inside JVM?
是的,有字节码来创建类实例。另外,实例方法的动态调度是由 JVM 完成的。
Is it responsibility of creators of such languages that they may interoperate with Java world, or it is achieved "by default"?
这是容易实现的目标,不这样做就是愚蠢的。此外,并非所有 JVM 语言都会重新发明轮子,只在适当的时候使用 JRE 类。这很可能包括 String、原始类型及其装箱形式和数组。
关于jvm - 为什么可以为 JVM 构建自定义语言,例如 Groovy、Scala、Clojure、Kotlin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45752268/