闭卷重建测量先于优化的对象、状态、事件、不变量与一个失败反例。
程序设计 II:抽象、内存与并发 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建时间、空间与分配成本的对象、状态、事件、不变量与一个失败反例。
闭卷重建基准预热与噪声的对象、状态、事件、不变量与一个失败反例。
闭卷重建缓存、批处理与局部性的对象、状态、事件、不变量与一个失败反例。
闭卷重建性能预算、分位数与回归门槛的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:热点聚合器的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:缓存命中模拟的对象、状态、事件、不变量与一个失败反例。
核心机制:时间、空间与分配成本必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕时间、空间与分配成本先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:时间、空间与分配成本不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:测量先于优化必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕测量先于优化先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:测量先于优化不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:缓存、批处理与局部性必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕缓存、批处理与局部性先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:缓存、批处理与局部性不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:基准预热与噪声必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕基准预热与噪声先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:基准预热与噪声不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:热点聚合器必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:热点聚合器先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:热点聚合器不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:性能预算、分位数与回归门槛必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕性能预算、分位数与回归门槛先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:性能预算、分位数与回归门槛不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:缓存命中模拟必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:缓存命中模拟先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:缓存命中模拟不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。