PHP中Copy on write是什么意思?
程序员文章站
2022-03-13 12:29:29
...
PHP中Copy on write的意思是在用变量对变量进行赋值时,这些相同值的变量指向同一块内存,只有当这些指向同一块内存的相同值,和变量中的某一个变量的值发生改变的时候,才需要进行变量分离。
PHP中Copy on write的意思是:
写时复制
(Copy-on-Write,也缩写为COW),顾名思义,就是在写入时才真正复制一份内存进行修改。 COW最早应用在*nix系统中对线程与内存使用的优化,后面广泛的被使用在各种编程语言中,如C++的STL等。
在PHP内核中,COW
也是主要的内存优化手段。 在前面关于变量和内存的讨论中,引用计数对变量的销毁与回收中起着至关重要的标识作用。 引用计数存在的意义,就是为了使得COW可以正常运作,从而实现对内存的优化使用。
写时复制优点:
是通过赋值的方式赋值给变量时不会申请新内存来存放新变量所保存的值,而是简单的通过一个计数器来共用内存,只有在其中的一个引用指向变量的值发生变化时才申请新空间来保存值内容以减少对内存的占用。
从PHP底层基础数据结构来看
ref_count和is_ref是定义于zval结构体中;
is_ref标识是不是用户使用 & 的强制引用;
ref_count是引用计数,用于标识此zval被多少个变量引用,即写时复制的自动引用,为0时会被销毁。
相关学习推荐:PHP编程从入门到精通
以上就是PHP中Copy on write是什么意思?的详细内容,更多请关注其它相关文章!
下一篇: mysql怎么查看字段的备注
推荐阅读
-
CAD矩形中的标高和厚度选项是什么意思?
-
marginbottom在安卓中是什么意思(子元素marginBottom使用方法)
-
TGP英雄联盟中的甩锅局、浪输局等都是什么意思?
-
java对象是什么意思(java中的对象和类理解)
-
PHP 之 写时复制介绍(Copy On Write)
-
Excel定位中的当前区域的定位方法是什么意思如何理解
-
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
-
古话中的下海系红绳,从良断青丝是什么意思 这根红绳到底有什么意思
-
千里共婵娟中的婵娟是什么意思?婵娟竟有这么多含义
-
windows中睡眠、休眠、待机、混合睡眠各代表是什么意思又分别有什么作用和区别