这些语言在很大程度上与Java不同,如OO系统,类型系统(最值得注意的)。
实际问题是JVM是否跟踪引擎盖下的物体? JVM中是否有对象?这些语言的创建者是否有责任与Java世界互操作,或者“默认”实现?
答案 0 :(得分:3)
实际问题是JVM是否跟踪引擎盖下的对象?
是的,确实如此。垃圾收集是JVM的责任。
JVM中是否有对象?
是的,有字节代码可以创建类实例。此外,实例方法的动态分派由JVM完成。
这些语言的创建者是否有责任与Java世界互操作,或者它是否已实现"默认情况下"?
这是低悬的果实,不这样做是愚蠢的。此外,并非所有JVM语言都重新发明轮子,并在适当时使用JRE类。这很可能包括String,原始类型及其盒装形式和数组。
答案 1 :(得分:1)
所有JVM语言都编译为" Java Byte Code"。实际上,JVM对编程语言 Java没有任何想法。 JVM规范specifies a" class
文件",必须满足某些规则。只要您提供由编译器创建的兼容class
文件,您的代码就可以在JVM上运行。这就是Kotlin所做的事情。