我想知道什么是 写时复制 以及它的用途。Sun JDK 教程中多次提到该术语。
我本来打算写我自己的解释,但这篇维基百科文章几乎总结了它。
这是基本概念:
Copy-on- write(有时称为“COW”)是计算机编程中使用的一种优化策略。基本思想是,如果多个调用者请求最初无法区分的资源,您可以给他们指向同一资源的指针。这个函数可以一直保持到调用者试图修改其资源的“副本”,此时会创建一个真正的私有副本以防止更改对其他人可见。所有这些都对调用者透明地发生。主要优点是如果调用者从不进行任何修改,则不需要创建私有副本。
这里还有一个常用的 COW 应用程序:
COW 概念还用于维护数据库服务器(如 Microsoft SQL Server 2005)上的即时快照。即时快照通过在更新底层数据时存储数据的修改前副本来保留数据库的静态视图。即时快照用于测试用途或与时刻相关的报告,不应用于替换备份。