Java字节码与Kotlin字节码的区别

4

当我们编译Kotlin源代码时,它只转换为Kotlin字节码还是Java字节码


不要混淆“Java”和“JVM”。Java只是一种可以在JVM上运行的语言,并且有许多VM实现。Kotlin、Scala、Groovy都将代码编译成字节码,以便JVM可以运行。 - Eugene
可能有些愚蠢,但如果反编译 Kotlin 编译的字节码,它是否能再次转换为 Kotlin? - HiPradeep
如果反编译器可以做到,那就是的。 - Eugene
1个回答

4

Kotlin字节码和Java字节码使用相同的字节码指令集,即由JVM规范指定的JVM字节码。

然而,在这两种语言中使用JVM字节码的方式可能有所不同。这可能会影响反编译器的输出结果。

另一个复杂因素是在Android上执行之前,JVM字节码将被转换为Android Davlik字节码或ART(本机)代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接