Kotlin 的类型系统
¶主要内容
- 空值处理
- 原生类型和对应的Java类型
- Kotlin的集合以及与Java的关系
Kotlin对空值类型的处理,并不是使用ADT。诸如Option
、Either
,而是使用符号记法?
。对于类型转换,不使用协变逆协变,而是使用as
和Any?
这种语法。
Kotlin对空值类型的处理,并不是使用ADT。诸如Option
、Either
,而是使用符号记法?
。对于类型转换,不使用协变逆协变,而是使用as
和Any?
这种语法。
并发(Concurrent) 不是并行 (Parallel),并发更关注的是程序的设计层面,并发的程序完全是可以顺序执行的,只有在真正的多核CPU上才可能真正地同时运行,并发编程最大的挑战是 并发控制(concurrency control):即确保不同计算逻辑之间交互或通信的正确顺序,并协调对共享资源的访问。并发控制需要考虑 竞争条件(race conditions)、死锁(deadlocks) 和 资源匮乏(resource starvation) 等问题。