概念
把A变量赋值给B变量时,不会立刻申请新的内存来存放B变量的值,而是通过一个计数器来公用内存;只有在其中一个引用指向变量的值发生变化时,才申请新空间保存值。
总结:延迟分配资源。
好处
只有在真正需要使用资源时才占用资源,减少资源的占用。
实现方式
- ref_count,引用计数,标记此zval被多少个变量引用,为0时被销毁;
- is_ref,强制引用数,标记是否用&的强制引用;
1 |
|
应用场景
- php变量的多次赋值;
- php函数的参数传递;
- linux,fork进程;
把A变量赋值给B变量时,不会立刻申请新的内存来存放B变量的值,而是通过一个计数器来公用内存;只有在其中一个引用指向变量的值发生变化时,才申请新空间保存值。
总结:延迟分配资源。
只有在真正需要使用资源时才占用资源,减少资源的占用。
1 |
|