Kotlin为JVM添加了动态方法调用



JetBrains发布了Kotlin 1.4.20,它是针对JVM,Android和浏览器的语言的升级版,具有通过动态方法调用引导基于JVM的字符串连接的试验性功能,从而带来了一系列新功能。
自从JDK 9通过动态方法调用(字节码中的invokedynamiccode指令)完成以来,JVM上的字符串连接。与以前的实现相比,它更快并且消耗的内存更少,并且为将来的优化留出了空间,而无需更改字节码。 现在可以在Kotlin中实现此机制以提高性能。
现在可以将字符串串联编译为JDK 9或更高版本目标的动态调用。通过添加-Xstring-concat选项,可以针对以下用例调用实验性功能: 运算符(a + bcode),显式(a。
plus(b))和引用((a :: plus)(b))形式的String.plus。 内联和数据类上的toString。 字符串模板,带有单个非恒定参数的模板除外。
开发人员必须调用以下规则之一才能使用invokedynamic: indy-with-constants使用StringConcatFactory.makeConcatWithConstants()对字符串执行invokedynamic串联。 indy使用StringConcatFactory。
makeConcat()对字符串执行invokedynamic串联。 内联以通过StringBuilder.append()切换回经典串联。
JetBrains于11月23日宣布发布Kotlin 1.4.20。
可以从GitHub下载适用于Kotlin 1.4.20的命令行编译器。
IntelliJ Idea和Android Studio IDE用户可以找到有关更新其Kotlin插件的说明。在这里。 Kotlin 1.4。
20还具有以下特点: 对于Kotlin / JS,为项目向导提供了新模板。通过改进的DSL功能,增强了对项目配置的控制。 IR编译器已采用一种新的方式来编译项目,而忽略了代码中的错误。
Kotlin / JS Gradle DSL现在提供简化的项目设置和定制。而且,为Webpack配置提供了一个点。 Kotlin的项目向导为Kotlin / JS应用程序添加了可调整的模板。
模板适用于浏览器,Node.js和React应用程序。 可以从Gradle构建脚本创建package。
json文件的条目。 具有实验性的选择性纱线依赖性解析功能,可以从Gradle构建脚本中进行配置。 已添加JDK 15目标。
Kotlin / Native和Kotlin / JVM之间的行为不一致在某些极端情况下已得到修复,例如属性初始化。同样对于Kotlin / Native,Objective-C异常也可以包装到Kotlin异常中。 标准库包括java。
nio.file.Path。
的实验扩展。此外,String.Replace函数的性能也得到了改进。 版权所有©2020 IDG Communications,Inc.
紧贴InfoWorld的新闻通讯,以了解软件开发人员,分析师,数据库程序员和数据科学家的情况。 从我们仅限会员的内幕文章中获取专家见解。.

Yorumlar

Bu blogdaki popüler yayınlar

只需50美元即可训练成为一名熟练的Python编码器

DataStax 使 Astra 流媒体服务普遍可用

TypeScript 4.1 Beta带来了模板文字类型