![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kotlin
860MHz
这个作者很懒,什么都没留下…
展开
-
Kotlin协程的字节码解析-1
1. 背景 kotlinx.coroutines 是由 JetBrains 开发的功能丰富的协程库。它包含本指南中涵盖的很多启用高级协程的原语,包括 launch、 async 等等。 本文是通过反编译协程相关class文件,分析协程的实现原理。 2 Kotlin代码 T1.kt 第一个基本协程代码 import kotlinx.coroutines.* fun main() { pri...原创 2019-05-23 16:50:52 · 967 阅读 · 0 评论 -
Kotlin字节码解析-3 函数内联
1. 背景 在JAVA8中,Lamdba表达式通过invokedynamic指令实现的,通过invokedynamic可以避免编译期硬编码生成内部匿名类的实现,而是由JIT在运行时才产生相应的接入点代码,显著减少静态生成的类和字节码大小。 由于Kotlin支持JAVA6,Kotlin对于Lamdba表达式的支持不得不通过编译期硬编码的方式实现,导致大量的内部匿名类,为了避免此问题,Kotlin引入...原创 2019-06-03 17:01:34 · 490 阅读 · 0 评论