JetBrains近日发布了Kotlin 2.4.0版本,这是其面向JVM、原生、Wasm及Web应用开发的静态类型语言的最新更新。此版本重点引入了针对编译时常量的实验性改进,使数值类型与字符串类型的支持更加一致,操作也更加便捷。
编译时常量功能强化
Kotlin 2.4.0在编译时常量方面的实验性改进主要涵盖以下几个方向:新增对无符号类型运算的支持;新增针对字符串的标准库函数,包括.lowercase()、.uppercase()和.trim()等;支持对枚举常量的.name属性及KCallable接口进行求值操作。为了明确标识哪些函数会在编译时进行求值,Kotlin 2.4.0引入了IntrinsicConstEvaluation注解。JetBrains同时提醒,部分函数目前已支持编译时求值但尚未添加该注解,后续版本将逐步完善这一工作。
JavaScript与TypeScript导出能力提升
Kotlin 2.4.0增强了对JavaScript和TypeScript的导出支持,新增了值类、接口和类型协变的导出能力,并在内联JavaScript代码时支持ES2015特性。
支持Java 26字节码生成
Kotlin编译器现已可以生成包含Java 26字节码的类文件,进一步扩展了与Java新版本的互操作能力。
WebAssembly组件模型实验性支持
此版本还提供了对WebAssembly组件模型的实验性支持。该提案定义了一种通过标准化接口和类型从Wasm模块构建组件的方式,旨在推动Wasm从底层二进制指令格式演进为一套可组合、语言无关的可复用组件体系。
IDE集成与后续更新
Kotlin 2.4.0已集成至IntelliJ IDEA和Android Studio开发环境中。与此同时,Kotlin 2.4.20 Beta1已于6月24日发布,向标准库新增了StackTraceRecoverable接口。该接口改善了与kotlinx.coroutines库的集成体验,允许用户在无需依赖kotlinx.coroutines的情况下,自定义异常实例的创建方式,以用于堆栈追踪恢复。此外,Kotlin 2.4.20 Beta版本中的构建工具API新增了对Kotlin/JS、Kotlin/Wasm以及Kotlin元数据目标的支持。
Q&A
Q1:Kotlin 2.4.0对编译时常量做了哪些改进?
A:Kotlin 2.4.0引入了编译时常量的实验性改进,新增对无符号类型运算的支持,以及.lowercase()、.uppercase()、.trim()等字符串标准库函数的编译时求值能力,还支持枚举常量.name属性及KCallable接口的求值。同时引入了IntrinsicConstEvaluation注解,用于明确标识哪些函数在编译时执行,但目前部分函数尚未添加该注解,后续版本会陆续补全。
Q2:Kotlin 2.4.0在WebAssembly方面有什么新进展?
A:Kotlin 2.4.0实验性支持WebAssembly组件模型。该模型提供了一种通过标准化接口和类型从Wasm模块构建组件的方式,目标是让WebAssembly从底层二进制格式升级为可组合、跨语言的组件化系统,有助于提升Wasm生态的模块化和互操作性。
Q3:Kotlin 2.4.20 Beta新增了什么功能?
A:Kotlin 2.4.20 Beta1于6月24日发布,主要新增了StackTraceRecoverable接口。该接口可改善与kotlinx.coroutines库的集成,允许用户自定义异常实例的创建方式用于堆栈追踪恢复,且无需额外依赖kotlinx.coroutines库。此外,构建工具API也新增了对Kotlin/JS、Kotlin/Wasm和Kotlin元数据目标的支持。
好文章,需要你的鼓励
跑分只是基准,情绪才是真相。我们整理了 1500 条海外开发者对 GLM-5.2 的评价,发现这个号称能“平替顶级闭源模型”的开源巨兽,最大的争议点竟然是“硬件成本”。当部署一个模型需要“一套房”时,你还愿意本地化吗?
南京大学与阿里巴巴提出MIMFlow,将掩码图像建模与标准化流端到端融合,让生成模型专注语义建模,以更少参数和更少令牌在ImageNet上取得FID 2.50的优异表现。
电动自行车频繁出现在负面新闻中——危险骑行、电池火灾、立法管制。这些问题确实存在,需要通过教育、执法和安全标准加以解决。但更大的图景常被忽视:数百万人因此骑车通勤、重拾运动、减少开车,带来健康、减排和出行独立性等多重效益。研究也表明,电动自行车骑行具有显著心肺锻炼价值。正如汽车不能只以醉驾定义,电动自行车也不应仅凭最坏案例被评判。
清华大学提出VG-GUI-Bench评测视频引导操作能力,并设计TASKER关键帧搜索算法,在视频问答和GUI智能体任务上均实现性能与效率的双重提升。