`

PHP的垃圾回收机制是怎样的?

    博客分类:
  • PHP
阅读更多

PHP的垃圾回收机制是怎样的?


        描述:PHP使用引用计数(reference counting)垃圾回收(garbage collection)机制,每个对象都内含一个引用计数器,每当一个引用连接到对象时,计数器加1,当reference离开生成空间或被设置为NULL是,计数器减1,。当某个对象的引用计数器为0时,PHP引擎知道你将不再需要这个对象,释放其所占的内存空间。

        &操作是指针吗?

        不是,&操作是建立了引用指向,不是指针,PHP没有指针的概念。类似于UNIX的文件软链接。

        Unset()操作和赋 null值操作的区别?

        (a)Unset()只是断开这个变量对它原先指向的内存的引用,使变量本身成为没有定义过的空引用,并且使那块内存在符号表中引用计数减1,并没有影响到其他指向这块内存的变量。所以在调用这个unset()的变量时发出了Notice。(对一个变量unset多次只有第一次起作用)

        (b)赋值null操作相当猛,它会直接将变量缩指向的内存在符号表中的引用计数置0,那块内存自然被引擎回收了,至于何时被再次利用不得而知。可能马上就被用作存储别的信息,也许再也没有使用过。但无论如何,原来所有指向那块内存的变量都无法再操作被回收的内存了,任何试图调用它的变量都讲返回null。

          只有当一块内存在符号表中的引用计数为0 时,PHP引擎才会将这块内存回收。
          参考网址: http://www.php.cn/php-weizijiaocheng-37658.html

                            http://www.cnblogs.com/taijun/p/4206770.html

分享到:
评论

相关推荐

    浅析PHP7 的垃圾回收机制

    垃圾回收机制 垃圾回收机制是一种动态存储分配方案。它会自动释放程序不再需要的已分配的内存块。 自动回收内存的过程叫垃圾收集。垃圾回收机制可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务...

    解读PHP中的垃圾回收机制

    那么今天我们要为大家讲解的内容就是关于PHP垃圾回收机制的相关问题。希望对大家有所帮助。PHP strtotime应用经验之谈PHP memory_get_usage()管理内存PHP unset全局变量运用问题详解PHP unset()函数销毁变量教你快速...

    PHP垃圾回收机制简单说明

    虽然自己也是PHP的学习者,但之前还真没怎么了解PHP内部的垃圾回收流程,只是在我们的代码中用了unset,null,mysql_close,__destruct等等一些函数去释放对象防止内存溢出而已,所以上网GG下,找到了以下一些说明,作...

    Php引用计时器和垃圾回收机制.docx

    Php引用计时器和垃圾回收机制.docx

    Php引用计时器和垃圾回收机制.pdf

    Php引用计时器和垃圾回收机制.pdf

    Php引用计时器和垃圾回收机制分享.pdf

    Php引用计时器和垃圾回收机制分享.pdf

    PHP session垃圾回收机制实例分析

    本文实例讲述了PHP session垃圾回收机制。分享给大家供大家参考,具体如下: session过期时间 在php.ini文件中有这样一个配置,这个配置表示session文件过期时间,默认的话是1440秒,也就是24分钟,这个24分钟是...

    Php引用计时器和垃圾回收机制[参照].pdf

    Php引用计时器和垃圾回收机制[参照].pdf

    PHP5.3的垃圾回收机制(动态存储分配方案)深入理解

    垃圾回收机制是一种动态存储分配方案,它会自动释放程序不再需要的已分配的内存块,PHP也在语言层实现了内存的动态管理.内存的动态管理将开发人员从繁琐的内存管理中解救出来

    PHP进阶学习之垃圾回收机制详解

    本文实例讲述了PHP垃圾回收机制。分享给大家供大家参考,具体如下: 一、概念 垃圾回收机制是一种动态存储分配的方案。它会自动释放程序不再需要的已分配的内存块。垃圾回收机制可以让程序员不必过分关心程序内存...

    简单谈谈PHP的垃圾回收机制

    主要介绍了简单谈谈PHP的垃圾回收机制的相关资料,需要的朋友可以参考下

    掌握PHP垃圾回收机制详解

    本文主要和大家分享掌握php垃圾回收机制的知识,希望能帮助到大家。 引用计数基本知识 官网的解答如下 每个php变量存在一个叫”zval”的变量容器中一个zval变量容器,除了包含变量的类型和值 ,还包括两个字节的额外...

    深入解析PHP垃圾回收机制对内存泄露的处理

    本篇文章是关于PHP垃圾回收机制对内存泄露的处理进行了详细的分析介绍,需要的朋友参考下

Global site tag (gtag.js) - Google Analytics