COLLECTION · 合集
Kotlin 探索
关于 Kotlin 语言的深度文章,涵盖协程、多平台开发与现代语言特性。
CHAPTER 01
基础入门
CHAPTER 02
并发进阶
Kotlin 协程基础:挂起、作用域与调度器
协程不是线程,也不只是回调的语法糖。理解结构化并发,才能写出真正健壮的异步代码。
Kotlin 结构化并发:Job、async 与监督
await 与 join 不只是“有没有返回值”的区别;awaitAll、joinAll、coroutineScope 与 supervisorScope 共同决定等待方式、失败传播和兄弟协程的命运。
Kotlin 并发控制:互斥、限流与状态所有权
Mutex 保护共享不变量,Semaphore 限制资源并发度,原子更新和 Channel 则从不同层级消除竞争;选错工具往往比漏加一把锁更危险。
Kotlin 协程生命周期:上下文、取消与回调桥接
withContext、cancelAndJoin、ensureActive、timeout、NonCancellable 与 suspendCancellableCoroutine 共同定义任务如何切换执行环境、响应取消并安全接入回调 API。
Kotlin Flow 模型:冷流、热流、状态与队列
Flow、SharedFlow、StateFlow 与 Channel 都能传递多个值,但分别表达按需计算、广播、当前状态和竞争消费;选择错误会直接改变数据交付语义。
Kotlin Flow 执行模型:组合、背压与共享
buffer、conflate、latest、combine、flatMapLatest、flowOn、catch、shareIn 与 stateIn 改变的不只是写法,还改变并发、丢弃、失败和生命周期边界。
Kotlin 协程框架实践:Vert.x 与 Android
Vert.x 把协程绑定到 verticle 与 event loop,Android 把协程绑定到 ViewModel、Lifecycle 和 Composition;框架不同,任务所有权的判断方法相同。
CHAPTER 03
函数式抽象
Kotlin 函数式抽象:高阶函数、Receiver 与类型安全 DSL
函数类型描述可执行值,Receiver 改变名称解析的作用域,类型安全构建器再把两者组合成受编译器约束的小型语言。
Kotlin 泛型系统:型变、类型擦除与 Builder inference
泛型保存类型关系,型变控制关系能否安全传播,类型推导再把调用点、lambda 与 Receiver 中的约束合并起来;理解这三层,才能设计既简洁又不依赖强制转换的高阶 API。
Kotlin 声明式 API:委托属性、操作符与中缀调用
by、方括号、运算符和中缀调用不是独立运行时机制,而是编译器对约定函数的静态展开;理解展开规则,才能设计既自然又不隐藏副作用的声明式 API。
Kotlin 控制流分析:Contracts、Smart cast 与调用约束
从 returns、callsInPlace 与 InvocationKind 建立 Kotlin Contracts 的效果模型,再分析 smart cast 稳定性、extended contracts 与 Kotlin 2.4 的 returnsResultOf。
Kotlin 数据管道:集合、Sequence 与惰性求值
从逐阶段计算与逐元素拉取理解 Collection 和 Sequence,分析短路、状态型操作、中间分配、sequence builder、资源生命周期及 Flow 边界。