WebMD
本页大纲

可变性与不可变(Mutability and Immutability)

缩写:无

简述

可变指创建后可就地修改;不可变修改时产生新数据而非改旧值。不可变利于推理、缓存与并发;可变利于局部高效更新。系统常在边界用不可变消息、在内部可控可变。

使用场景

状态管理、函数式风格、多线程共享。

实践与应用

• 默认不可变,热点再测后放开
• 可考虑结构共享的持久化结构

注意事项

• 表面不可变容器内含可变元素
• 深拷贝成本被低估

对比与易混

可变 不可变
修改方式 就地改 产生新数据
并发共享 需同步 更易安全共享

关联术语

• 副作用:就地修改是副作用的一种
• 引用:共享引用放大可变带来的别名问题
• 纯函数:常与不可变数据搭配
• 并发:不可变数据更易安全共享