PHP写入时复制 (Copy on Write)

来源:互联网 发布:大数据技术是什么 编辑:程序博客网 时间:2024/06/06 02:43

写入时复制是指:在 用变量对变量 进行赋值时,这些相同值的变量指向同一块内存,只有当这些指向同一块内存的 相同值的变量 中的某一个变量的值 发生改变的时候,才需要进行变量分离,即:将 值发生改变的变量分离出来(PHP内核将这块内存复制一份,并更新其值)。

使用场景:变量的多次赋值;函数的参数传递。

PHP中,Zend引擎为了区分同一块内存是否被多个变量引用,在zval结构中定义了ref_count和is_ref两个变量。

ref_count定义了内存被变量引用的次数,次数为0时销毁。

is_ref定义了变量是否被强制引用($a = &$b),被强制引用时,值为1。

0 0
原创粉丝点击