当前位置: 首页 > news >正文

56账号登录的网址实时seo排名点击软件

56账号登录的网址,实时seo排名点击软件,做问卷网站好,购买网域名的网站好Kotlin1.8.0新特性 新特性概述 JVM 的新实验性功能:递归复制或删除目录内容提升了 kotlin-reflect 性能新的 -Xdebug 编译器选项,提供更出色的调试体验kotlin-stdlib-jdk7 与 kotlin-stdlib-jdk8 合并为 kotlin-stdlib提升了 Objective-C/Swift 互操作…

Kotlin1.8.0新特性

新特性概述

  • JVM 的新实验性功能:递归复制或删除目录内容
  • 提升了 kotlin-reflect 性能
  • 新的 -Xdebug 编译器选项,提供更出色的调试体验
  • kotlin-stdlib-jdk7 与 kotlin-stdlib-jdk8 合并为 kotlin-stdlib
  • 提升了 Objective-C/Swift 互操作性
  • 与 Gradle 7.3 兼容

在这里插入图片描述

递归复制或删除目录内容

注意:
这些新功能对于`java.nio.file.path`来说是实验性的。如果要调用他们,你需要添加`@OptIn(kotlin.io.path.ExperimentalPathApi::class)`或者`@kotlin.io.path.ExperimentalPathApi`注释。你也可以添加编译器选项`-opt-in=kotlin.io.path.ExperimentalPathApi`。

两个扩展函数,它允许你递归:
java.nio.file.PathcopyToRecursively() deleteRecursively()

  • 将目录及其内容复制到另一个目标。
  • 删除目录及其内容。
    作为备份过程的一部分,这些功能非常有用。
    异常处理
copyToRecursively() onError

例如:

sourceRoot.copyToRecursively(destinationRoot, followLinks = false,onError = { source, target, exception ->logger.logError(exception, "Failed to copy $source to $target")OnErrorResult.TERMINATE})

使用 时,如果在删除文件或文件夹时发生异常,则会跳过该文件或文件夹。删除完成后,将引发包含作为抑制异常发生的所有异常。deleteRecursively() deleteRecursively() IOException
文件覆盖
如果发现目标目录中已存在文件,则会发生异常。如果要覆盖该文件,请使用 with 作为参数的重载并将其设置为 :
copyToRecursively() overwrite true
例如:

fun setUpEnvironment(projectDirectory: Path, fixtureName: String) {fixturesRoot.resolve(COMMON_FIXTURE_NAME).copyToRecursively(projectDirectory, followLinks = false)fixturesRoot.resolve(fixtureName).copyToRecursively(projectDirectory, followLinks = false,overwrite = true) // patches the common fixture
}

自定义复制操作
重载copyAction, 例如:

sourceRoot.copyToRecursively(destinationRoot, followLinks = false) { source, target ->if (source.name.startsWith(".")) {CopyActionResult.SKIP_SUBTREE} else {source.copyToIgnoringExistingDirectory(target, followLinks = false)CopyActionResult.CONTINUE}
}

提升了 kotlin-reflect 性能

利用现在使用 JVM 目标 1.8 编译的事实,我们将内部缓存机制迁移到 Java 的 .以前我们只缓存 ,但现在我们也缓存和.这些更改在调用 时显著提高了性能。kotlin-reflect ClassValue KClass KType KDeclarationContainer typeOf()

新的 -Xdebug 编译器选项

Kotlin 1.8.0 添加了一个新的编译器选项,该选项禁用优化以获得更好的调试体验。目前,该选项禁用协程的“已优化”功能。将来,在我们添加更多优化后,此选项也会禁用它们。-Xdebug
“已优化”功能可在使用挂起函数时优化变量。但是,很难使用优化变量调试代码,因为看不到它们的值。
禁止在生产环境中使用该选项,可能会产生内存泄露。

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

不同版本的stdlib已统一合并到kotlin-stdlib

提升了Object及Swift的互操作

为了使 Kotlin 与 Objective-C 和 Swift 更具互操作性,添加了三个新的注释:

  • @ObjCName 允许您在 Swift 或 Objective-C 中指定一个更惯用的名称,而不是重命名 Kotlin 声明。
    该注释指示 Kotlin 编译器为此类、属性、参数或函数使用自定义的 Objective-C 和 Swift 名称:
@ObjCName(swiftName = "MySwiftArray")
class MyKotlinArray {@ObjCName("index")fun indexOf(@ObjCName("of") element: String): Int = TODO()
}// Usage with the ObjCName annotations
let array = MySwiftArray()
let index = array.index(of: "element")
  • @HiddenFromObjC允许您从 Objective-C 中隐藏 Kotlin 声明。

注释指示 Kotlin 编译器不要将函数或属性导出到 Objective-C 并因此导出到 Swift。这可以使您的 Kotlin 代码对 Objective-C/Swift 更加友好。

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

注释指示 Kotlin 编译器将函数或属性标记为生成的 Objective-C API 中的函数或属性。这样的声明获得前缀,这使得它们对 Swift 代码不可见。swift_private__

与 Gradle 7.3 兼容

Kotlin 1.8.0 完全支持 Gradle 版本 7.2 和 7.3。您也可以使用 Gradle 版本至最新的 Gradle 版本,但如果您这样做,请注意,您可能会遇到弃用警告,或者某些新的 Gradle 功能可能无法使用。

此版本带来了许多更改:

  • 将 Kotlin 编译器选项公开为 Gradle 惰性属性

  • 提高支持的最低版本
    从 Kotlin 1.8.0 开始,支持的最低 Gradle 版本为 6.8.3,支持的最低 Android Gradle 插件版本为 4.1.3。
    gradle插件版本与gradle版本的对应关系如下
    https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin

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

kotlin.daemon.useFallbackStrategy true false  useDaemonFallbackStrategy

编译通常运行在gradle守护进程上,如果守护进程因为某些原因挂掉了,那么还可以在守护进程之外编译运行。

  • 在传递依赖项中使用最新的 kotlin-stdlib 版本
    通过以下选项对齐kotlin版本
kotlin.stdlib.jdk.variants.version.alignment=false
//或者
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
  • 强制检查相关 Kotlin 和 Java 编译任务的 JVM 目标兼容性相等性

  • 解决 Kotlin Gradle 插件的传递依赖关系
    为避免传递依赖中版本不一致导致编译出错,添加下列选项来进行约束

dependencies {constraints {implementation("org.jetbrains.kotlin:kotlin-sam-with-receiver:1.8.0")}
}
  • 弃用和移除
    具体查看如下链接:
    https://kotlinlang.org/docs/whatsnew18.html#deprecations-and-removals

参考

https://kotlinlang.org/docs/whatsnew18.html
https://kotlinlang.org/docs/whatsnew-eap.html

http://www.hkea.cn/news/996379/

相关文章:

  • 制作网页设计软件列表案例谷歌seo 优化
  • wordpress网站备案上海搜索推广
  • 网站建设套餐有哪些安卓在线视频嗅探app
  • 做电影网站要买什么重庆seo网站哪家好
  • 广州北京网站建设公司网站外部优化的4大重点
  • 网站建设书优化大师是干什么的
  • 优秀的网站建设公司百度指数人群画像
  • wordpress企业中文模板太原seo哪家好
  • 广东网广东网站建设网站推广方案模板
  • 网站运营知识快手seo
  • 咖啡公司网站建设策划书微信营销方式
  • 柳江区城乡住房建设局网站上海seo优化服务公司
  • 西城企业网站建设企业网站怎么优化
  • 初学者做动态网站项目例子游戏特效培训机构排名
  • 汽车类网站搭建直链平台
  • 做网站遇到的困难总结网络营销软件代理
  • 做网站登录论坛外链代发
  • 东营专业网站建设公司排行青岛谷歌优化公司
  • 公众号和网站先做哪个口碑营销的形式
  • 长沙企业建网站费用关键词搜索推广排行榜
  • 怎么做网站端口代理沧州网络推广外包公司
  • php wordpress 目录seo课程培训机构
  • 常州网站建设方案优化引流app推广软件
  • 网络营销网站建设实训网络营销步骤
  • 网站都有后台吗百度竞价开户公司
  • 秭归网站建设网站seo优化心得
  • wordpress电影网站模板seo运营
  • 公司注册网上核名业务如何终止网站排名优化怎么做
  • 网站建设伍金手指下拉2网上推广平台
  • 沧州网站建设公司翼马爱情链接