0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Kotlin 1.8.0發(fā)布,改進(jìn)性能和Swift的互操作性

OSC開源社區(qū) ? 來源: OSC開源社區(qū) ? 2023-01-03 15:24 ? 次閱讀
Kotlin 1.8.0 版本已經(jīng)正式發(fā)布,以下是該版本更新中的一些主要內(nèi)容:

針對(duì) JVM 的新實(shí)驗(yàn)性功能:遞歸復(fù)制或刪除目錄內(nèi)容

Kotlin 1.8.0 為java.nio.file.Path引入了兩個(gè)新的擴(kuò)展函數(shù):copyToRecursively()deleteRecursively(),它們?cè)试S你以遞歸方式:
  • 將一個(gè)目錄及其內(nèi)容復(fù)制到另一個(gè)目的地

  • 刪除一個(gè)目錄和它的內(nèi)容

這些函數(shù)作為備份過程的一部分可能非常有用。
用于java.nio.file.path的這些新函數(shù)是實(shí)驗(yàn)性的。要使用它們,你需要選擇加入@OptIn(kotlin.io.path.ExperimentalPathApi::class)@kotlin.io.path.ExperimentalPathApi。另外,你也可以使用編譯器選項(xiàng)-opt-in=kotlin.io.path.ExperimentalPathApi。

改進(jìn)了 kotlin-reflect 的性能

利用kotlin-reflect現(xiàn)在是用 JVM target 1.8 編譯的這一事實(shí),我們將內(nèi)部緩存機(jī)制遷移到 JavaClassValue。以前我們只緩存KClass,但現(xiàn)在我們也緩存了KTypeKDeclarationContainer。這些變化使得調(diào)用typeOf()時(shí)的性能得到了明顯的改善。

新增 -Xdebug 編譯器選項(xiàng),以獲得更好的調(diào)試體驗(yàn)

Kotlin 1.8.0 增加了一個(gè)新的-Xdebug編譯器選項(xiàng),它可以禁用優(yōu)化以獲得更好的調(diào)試體驗(yàn)。目前,該選項(xiàng)禁用了 coroutines 的 "已優(yōu)化" 功能。在未來,當(dāng)我們添加了更多的優(yōu)化功能后,這個(gè)選項(xiàng)也將禁用它們。

kotlin-stdlib-jdk7kotlin-stdlib-jdk8合并為kotlin-stdlib

在 Kotlin 1.8.0 中,標(biāo)準(zhǔn)庫(kù)(kotlin-stdlib、kotlin-reflectkotlin-script-*)是用 JVM target 1.8 編譯的。此前,標(biāo)準(zhǔn)庫(kù)是以 JVM target 1.6 編譯的。Kotlin 1.8.0 不再支持 JVM targets 1.6 和 1.7。因此,你不再需要在構(gòu)建腳本中單獨(dú)聲明kotlin-stdlib-jdk7kotlin-stdlib-jdk8,因?yàn)檫@些工件的內(nèi)容已經(jīng)并入kotlin-stdlib。

改進(jìn)了 Objective-C/Swift 的互操作性

為了使 Kotlin 與 Objective-C 和 Swift 更具有互操作性,1.8.0 增加了三個(gè)新的注解:
  • @ObjCName允許你在 Swift 或 Objective-C 中指定一個(gè)更習(xí)慣的名字,而不是重新命名 Kotlin 聲明。

  • @HiddenFromObjC允許你從 Objective-C 中隱藏一個(gè) Kotlin 聲明

  • @ShouldRefineInSwift對(duì)于用 Swift 編寫的包裝器替換 Kotlin 聲明很有用

與 Gradle 7.3 兼容

Kotlin 1.8.0 完全支持 Gradle 7.2 和 7.3 版本,這個(gè)版本帶來了很多變化:
  • 將 Kotlin 編譯器選項(xiàng)作為 Gradle 惰性屬性公開

  • 提高了最小支持版本

  • 能夠禁用 Kotlin 守護(hù)程序的回退策略

  • 強(qiáng)制檢查相關(guān)的 Kotlin 和 Java 編譯任務(wù)的 JVM target 兼容性是否相等


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SWIFT
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    23806
  • kotlin
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    4196

原文標(biāo)題:Kotlin 1.8.0發(fā)布,改進(jìn)性能和Swift的互操作性

文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCIe 6.0 操作性PHY驗(yàn)證測(cè)試方案

    ?和 UCIe?等協(xié)議。CXL提供緩存一致互連,支持多臺(tái)機(jī)器間的內(nèi)存擴(kuò)展,提供最低延遲和最高帶寬。CXL和NVM Express?利用 PCIe 的物理層和簡(jiǎn)便的協(xié)議適應(yīng)。UCIe作為
    的頭像 發(fā)表于 01-02 08:43 ?86次閱讀
    PCIe 6.0 <b class='flag-5'>互</b><b class='flag-5'>操作性</b>PHY驗(yàn)證測(cè)試方案

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

    電子發(fā)燒友網(wǎng)站提供《TI ADS42JB69系列JESD204B ADC與Altera FPGA的操作性.pdf》資料免費(fèi)下載
    發(fā)表于 12-10 14:27 ?0次下載
    TI ADS42JB69系列JESD204B ADC與Altera FPGA的<b class='flag-5'>互</b><b class='flag-5'>操作性</b>

    M-LVDS和總線LVDS的操作性

    電子發(fā)燒友網(wǎng)站提供《M-LVDS和總線LVDS的操作性.pdf》資料免費(fèi)下載
    發(fā)表于 09-29 09:46 ?1次下載
    M-LVDS和總線LVDS的<b class='flag-5'>互</b><b class='flag-5'>操作性</b>

    無(wú)線充芯片-手機(jī)無(wú)線充電芯片-無(wú)線充電芯片開發(fā)定制

    基于需求信息,進(jìn)行無(wú)線充電芯片的技術(shù)研發(fā)與創(chuàng)新。這包括芯片架構(gòu)設(shè)計(jì)、電路布局優(yōu)化、算法開發(fā)等方面的工作。在研發(fā)過程中,需要充分考慮高效能量傳輸、兼容操作性以及成本控制等因素,確保芯片
    發(fā)表于 09-27 11:32

    操作性對(duì)智能家居的重要

    在智能家居領(lǐng)域,操作性對(duì)不同群體有不同的意義。消費(fèi)者希望有多種選擇、較高的靈活性、簡(jiǎn)單的設(shè)置以及安全感,確保設(shè)備不會(huì)被黑客攻擊。最重要的是,他們希望設(shè)備能夠“正常工作”。
    的頭像 發(fā)表于 08-26 17:29 ?5.2w次閱讀
    <b class='flag-5'>互</b><b class='flag-5'>操作性</b>對(duì)智能家居的重要<b class='flag-5'>性</b>

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

    了業(yè)內(nèi)首個(gè)在FR3頻段(高頻段)的端到端操作性和數(shù)據(jù)連接測(cè)試,這一成就標(biāo)志著5G技術(shù)在高頻段應(yīng)用上的重大進(jìn)展。
    的頭像 發(fā)表于 08-14 11:24 ?863次閱讀

    HPMicro Arduino支持包v0.1.0發(fā)布,適配功能揭曉!

    HPMicro Arduino支持包v0.1.0發(fā)布,適配功能揭曉!
    的頭像 發(fā)表于 07-11 08:18 ?529次閱讀
    HPMicro Arduino支持包v0.1.0<b class='flag-5'>發(fā)布</b>,適配功能揭曉!

    區(qū)塊鏈操作標(biāo)準(zhǔn)化應(yīng)用及經(jīng)驗(yàn),華為云 BCS 獲評(píng)團(tuán)體標(biāo)準(zhǔn)示范項(xiàng)目

    各行各業(yè)的應(yīng)用拓展,不 同鏈系統(tǒng)之間的操作難、上層應(yīng)用與底層鏈對(duì)接切換難、鏈上鏈下可信 交互難的問題日益突出(概括為:區(qū)塊鏈的操作性),成為制約區(qū)塊鏈 發(fā)展的瓶頸。 區(qū)塊鏈
    的頭像 發(fā)表于 02-23 22:00 ?684次閱讀
    區(qū)塊鏈<b class='flag-5'>互</b><b class='flag-5'>操作</b>標(biāo)準(zhǔn)化應(yīng)用及經(jīng)驗(yàn),華為云 BCS 獲評(píng)團(tuán)體標(biāo)準(zhǔn)示范項(xiàng)目

    RZ/G柔性軟件包v2.0.1發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《RZ/G柔性軟件包v2.0.1發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-21 10:48 ?0次下載
    RZ/G柔性軟件包v2.0.1<b class='flag-5'>發(fā)布</b>說明

    QE for Motor V1.3.0發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《QE for Motor V1.3.0發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 09:35 ?0次下載
    QE for Motor V1.3.0<b class='flag-5'>發(fā)布</b>說明

    RZ/V2L DRP-AI支持包版本.7.41發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《RZ/V2L DRP-AI支持包版本.7.41發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-01 10:07 ?0次下載
    RZ/V2L DRP-AI支持包版本.7.41<b class='flag-5'>發(fā)布</b>說明

    RZ/V多操作系統(tǒng)包V1.12發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《RZ/V多操作系統(tǒng)包V1.12發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-01 09:47 ?0次下載
    RZ/V多<b class='flag-5'>操作</b>系統(tǒng)包V1.12<b class='flag-5'>發(fā)布</b>說明

    e2 studio 2024-01發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《e2 studio 2024-01發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 01-30 09:47 ?1次下載
    e2 studio 2024-01<b class='flag-5'>發(fā)布</b>說明

    CS+適用于CC V8.11.00發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《CS+適用于CC V8.11.00發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 01-29 11:46 ?0次下載
    CS+適用于CC V8.11.00<b class='flag-5'>發(fā)布</b>說明

    電容式觸摸的QE V3.3.0發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《電容式觸摸的QE V3.3.0發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 01-29 10:58 ?0次下載
    電容式觸摸的QE V3.3.0<b class='flag-5'>發(fā)布</b>說明