前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kotlin源码阅读——system模块

Kotlin源码阅读——system模块

原创
作者头像
Runhwguo
发布2018-10-07 12:09:40
1K0
发布2018-10-07 12:09:40
举报

Package:kotlin.system

Filename:Process.kt/Timing.kt

在kotlin的源码目录里,每个模块都有相应的md文件,做以说明。在kotlin最主要的stdlin/src目录下有一个Module.md:

目录结构:

文件内容截图:

这个Module.md会介绍每个包的作用,行文描述的还是比较清晰。这一篇就讲一下kotlin.system包下的源码内容。

Process.kt/Timing.kt这两个文件在libraries/stdlib/jvm/src/kotlin/system下。

一、Process.kt

源码如下:

Process.kt文件中就只有一个exitProcess函数,作用是终止当前Java VM,里面调用的是Java的System.exit方法,这里大家可能注意到函数里面,在exit后面又调用了throw RuntimeException,刚开始挺让人疑惑的,可是仔细想想,如果exit没有bug正常工作的话,当前Java虚拟机是终止的,也就是进程都销毁了,后续的代码是不会执行到的,自己写简单的demo,也是可以证明的。这里猜想,Kotlin应该是为了严谨性,才在exitProcess里写上throw异常的代码。

二、Timing.kt

直接上代码截图,刚看到Kotlin提供的这个API的时候,我就觉得很贴心,因为之前在测试代码耗时,经常写这样的代码,先记录一个start时间,再用end - start计算耗时。从截图看很明显,我这里不做赘述,这两个API一个是以毫秒为单位,一个是以纳秒为单位。

贴一张kotlin.system模块的简单demo代码:

总结:所以,目前Kotlin在system模块给我们提供了三个API;

exitProcess:终止Java VM。

measureTimeMillis:计算block代码的毫秒耗时

measureNanoTime:计算block代码的纳秒耗时

大家可以经常使用,多多了解Kotlin的API。

接下来会写一下Kotlin的text文本处理与正则表达式模块。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档