Scala 3 迁移指南

运行时

语言

Scala 2.13 和 Scala 3 共享相同的应用程序二进制接口 (ABI)。

ABI 是 Scala 代码在字节码或 Scala.js IR 中的表示形式。它决定了 Scala 程序的运行时行为。

使用 Scala 2.13 和 Scala 3 编译相同的源代码会生成非常相似的字节码。不同之处在于某些功能已更改,例如,lazy vals 的初始化已得到改进。

共享 ABI 还可确保 Scala 2.13 和 Scala 3 类文件可以由相同的 JVM 类加载器加载。类似地,Scala 2.13 和 Scala 3 sjsir 文件可以由 Scala.js 链接器链接在一起。

此外,它让我们免受运行时的意外行为的影响。它使从 Scala 2.13 到 Scala 3 的迁移在运行时崩溃和性能方面非常安全。

乍一看,Scala 程序的运行时特性在 Scala 3 中既不比 Scala 2.13 好也不差。但是,一些新功能将帮助您优化程序

此页面的贡献者