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 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有