Kotlin JVM和Kotlin Native之间有什么区别?

Smu*_*aco 2 jvm kotlin kotlin-native

所以我知道Kotlin Native显然是Native,而Kotlin JVM不是,但是Kotlin JVM和Kotlin Native之间的代码是:1.不同的编译器和不同的代码2.不同的编译器和类似的代码3.不同的编译器和相同的代码4.没有以上(请说明)

hot*_*key 5

Kotlin / JVM和Kotlin / Native编译器共享前端(执行代码解析,名称解析,类型推断等的部分),但是编译器后端将内部程序表示形式转换为目标代码(JVM)字节码和LLVM位码)不同。

两种编译器接受的Kotlin语言是相同的,但是其中一些功能和检查是特定于平台的。另外,Kotlin / JVM和Kotlin / Native的标准库也有足够的区别,请参见此处各平台上可用的API:Kotlin标准库

另一个巨大的区别是内存模型:Kotlin / JVM使用Java内存模型,而Kotlin / Native提供自己的并发和内存模型

  • 有语法差异吗?Kotlin 项目中可以使用哪一个来编写 Java 代码?我怎么知道我的项目是 Kotlin/JVM 还是 Kotlin/Native? (2认同)