0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Kotlin 1.8.0发布,改进性能和Swift的互操作性

OSC开源社区 来源: OSC开源社区 2023-01-03 15:24 次阅读
Kotlin 1.8.0 版本已经正式发布,以下是该版本更新中的一些主要内容:

针对 JVM 的新实验性功能:递归复制或删除目录内容

Kotlin 1.8.0 为java.nio.file.Path引入了两个新的扩展函数:copyToRecursively()deleteRecursively(),它们允许你以递归方式:
  • 将一个目录及其内容复制到另一个目的地

  • 删除一个目录和它的内容

这些函数作为备份过程的一部分可能非常有用。
用于java.nio.file.path的这些新函数是实验性的。要使用它们,你需要选择加入@OptIn(kotlin.io.path.ExperimentalPathApi::class)@kotlin.io.path.ExperimentalPathApi。另外,你也可以使用编译器选项-opt-in=kotlin.io.path.ExperimentalPathApi

改进了 kotlin-reflect 的性能

利用kotlin-reflect现在是用 JVM target 1.8 编译的这一事实,我们将内部缓存机制迁移到 JavaClassValue。以前我们只缓存KClass,但现在我们也缓存了KTypeKDeclarationContainer。这些变化使得调用typeOf()时的性能得到了明显的改善。

新增 -Xdebug 编译器选项,以获得更好的调试体验

Kotlin 1.8.0 增加了一个新的-Xdebug编译器选项,它可以禁用优化以获得更好的调试体验。目前,该选项禁用了 coroutines 的 "已优化" 功能。在未来,当我们添加了更多的优化功能后,这个选项也将禁用它们。

kotlin-stdlib-jdk7kotlin-stdlib-jdk8合并为kotlin-stdlib

在 Kotlin 1.8.0 中,标准库(kotlin-stdlibkotlin-reflectkotlin-script-*)是用 JVM target 1.8 编译的。此前,标准库是以 JVM target 1.6 编译的。Kotlin 1.8.0 不再支持 JVM targets 1.6 和 1.7。因此,你不再需要在构建脚本中单独声明kotlin-stdlib-jdk7kotlin-stdlib-jdk8,因为这些工件的内容已经并入kotlin-stdlib

改进了 Objective-C/Swift 的互操作性

为了使 Kotlin 与 Objective-C 和 Swift 更具有互操作性,1.8.0 增加了三个新的注解:
  • @ObjCName允许你在 Swift 或 Objective-C 中指定一个更习惯的名字,而不是重新命名 Kotlin 声明。

  • @HiddenFromObjC允许你从 Objective-C 中隐藏一个 Kotlin 声明

  • @ShouldRefineInSwift对于用 Swift 编写的包装器替换 Kotlin 声明很有用

与 Gradle 7.3 兼容

Kotlin 1.8.0 完全支持 Gradle 7.2 和 7.3 版本,这个版本带来了很多变化:
  • 将 Kotlin 编译器选项作为 Gradle 惰性属性公开

  • 提高了最小支持版本

  • 能够禁用 Kotlin 守护程序的回退策略

  • 强制检查相关的 Kotlin 和 Java 编译任务的 JVM target 兼容性是否相等


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SWIFT
    +关注

    关注

    0

    文章

    116

    浏览量

    23797
  • kotlin
    +关注

    关注

    0

    文章

    60

    浏览量

    4187

原文标题:Kotlin 1.8.0发布,改进性能和Swift的互操作性

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TI ADS42JB69系列JESD204B ADC与Altera FPGA的操作性

    电子发烧友网站提供《TI ADS42JB69系列JESD204B ADC与Altera FPGA的操作性.pdf》资料免费下载
    发表于 12-10 14:27 0次下载
    TI ADS42JB69系列JESD204B ADC与Altera FPGA的<b class='flag-5'>互</b><b class='flag-5'>操作性</b>

    M-LVDS和总线LVDS的操作性

    电子发烧友网站提供《M-LVDS和总线LVDS的操作性.pdf》资料免费下载
    发表于 09-29 09:46 0次下载
    M-LVDS和总线LVDS的<b class='flag-5'>互</b><b class='flag-5'>操作性</b>

    无线充芯片-手机无线充电芯片-无线充电芯片开发定制

    基于需求信息,进行无线充电芯片的技术研发与创新。这包括芯片架构设计、电路布局优化、算法开发等方面的工作。在研发过程中,需要充分考虑高效能量传输、兼容操作性以及成本控制等因素,确保芯片
    发表于 09-27 11:32

    操作性对智能家居的重要

    在智能家居领域,操作性对不同群体有不同的意义。消费者希望有多种选择、较高的灵活性、简单的设置以及安全感,确保设备不会被黑客攻击。最重要的是,他们希望设备能够“正常工作”。
    的头像 发表于 08-26 17:29 4.8w次阅读
    <b class='flag-5'>互</b><b class='flag-5'>操作性</b>对智能家居的重要<b class='flag-5'>性</b>

    是德科技携手高通突破5G高频段FR3操作性

    了业内首个在FR3频段(高频段)的端到端操作性和数据连接测试,这一成就标志着5G技术在高频段应用上的重大进展。
    的头像 发表于 08-14 11:24 839次阅读

    HPMicro Arduino支持包v0.1.0发布,适配功能揭晓!

    HPMicro Arduino支持包v0.1.0发布,适配功能揭晓!
    的头像 发表于 07-11 08:18 498次阅读
    HPMicro Arduino支持包v0.1.0<b class='flag-5'>发布</b>,适配功能揭晓!

    区块链操作标准化应用及经验,华为云 BCS 获评团体标准示范项目

    各行各业的应用拓展,不 同链系统之间的操作难、上层应用与底层链对接切换难、链上链下可信 交互难的问题日益突出(概括为:区块链的操作性),成为制约区块链 发展的瓶颈。 区块链
    的头像 发表于 02-23 22:00 657次阅读
    区块链<b class='flag-5'>互</b><b class='flag-5'>操作</b>标准化应用及经验,华为云 BCS 获评团体标准示范项目

    RZ/G柔性软件包v2.0.1发布说明

    电子发烧友网站提供《RZ/G柔性软件包v2.0.1发布说明.pdf》资料免费下载
    发表于 02-21 10:48 0次下载
    RZ/G柔性软件包v2.0.1<b class='flag-5'>发布</b>说明

    16位单片机RL78系列Rev.1.20发布说明

    电子发烧友网站提供《16位单片机RL78系列Rev.1.20发布说明.pdf》资料免费下载
    发表于 02-19 10:15 0次下载
    16位单片机RL78系列Rev.1.20<b class='flag-5'>发布</b>说明

    QE for Motor V1.3.0发布说明

    电子发烧友网站提供《QE for Motor V1.3.0发布说明.pdf》资料免费下载
    发表于 02-19 09:35 0次下载
    QE for Motor V1.3.0<b class='flag-5'>发布</b>说明

    RZ/V2L DRP-AI支持包版本.7.41发布说明

    电子发烧友网站提供《RZ/V2L DRP-AI支持包版本.7.41发布说明.pdf》资料免费下载
    发表于 02-01 10:07 0次下载
    RZ/V2L DRP-AI支持包版本.7.41<b class='flag-5'>发布</b>说明

    RZ/V多操作系统包V1.12发布说明

    电子发烧友网站提供《RZ/V多操作系统包V1.12发布说明.pdf》资料免费下载
    发表于 02-01 09:47 0次下载
    RZ/V多<b class='flag-5'>操作</b>系统包V1.12<b class='flag-5'>发布</b>说明

    e² studio 2024-01发布说明

    电子发烧友网站提供《e² studio 2024-01发布说明.pdf》资料免费下载
    发表于 01-30 09:47 1次下载
    e² studio 2024-01<b class='flag-5'>发布</b>说明

    CS+适用于CC V8.11.00发布说明

    电子发烧友网站提供《CS+适用于CC V8.11.00发布说明.pdf》资料免费下载
    发表于 01-29 11:46 0次下载
    CS+适用于CC V8.11.00<b class='flag-5'>发布</b>说明

    电容式触摸的QE V3.3.0发布说明

    电子发烧友网站提供《电容式触摸的QE V3.3.0发布说明.pdf》资料免费下载
    发表于 01-29 10:58 0次下载
    电容式触摸的QE V3.3.0<b class='flag-5'>发布</b>说明