跳到内容

第九卷:语言深度 ​

同一句“这个变量没变”,在不可变对象、共享引用和多线程程序里可能需要不同的证据。本卷比较类型系统、内存管理、并发、函数式抽象、JVM 与 DSL。语言排名先放一边,先看这段程序究竟保证了什么。

先修知识 ​

  • 熟悉函数、对象、泛型和异常;可从编程基础补齐。
  • 读过栈、堆、线程和同步的基本模型;遇到机器层面的疑问时参考计算机系统。

覆盖内容 ​

前两章区分类型规则、运行时存储与线程间的内存模型;第 3、4 章比较并发和函数式组织方式;第 5、6 章沿 JVM 与元编程查看抽象如何实现。

第 1 章 ​

第 2 章 ​

第 3 章 ​

第 4 章 ​

第 5 章 ​

第 6 章 ​

学完能做什么 ​

  • 根据读取和写入需求解释泛型的型变约束,并识别不合法的替换。
  • 分开讨论对象生命周期、内存可见性和程序不变量,选择相应的管理或同步手段。
  • 用字节码、运行时观察或一个小型 DSL 说明抽象的行为、成本与输入边界。

怎样使用这份目录 ​

比较某种语言机制时,先写出它承诺的语义,再运行一个最小例子和一个失败例子。JVM 部分按 class 文件、加载调用、JIT 的顺序读;其他语言的片段用于对照机制,运行前按所在课次准备工具链。

Built with VitePress | Software Systems Atlas