# PHP 垃圾回收機制(GC)
## 垃圾回收:
垃圾回收(Garbage Collection)簡稱GC,看文的意思相當于垃圾回收再利用。轉化成程序語言就是對于不再使用的變量占用內存的釋放。
## 內存泄漏:
進一步講解PHP垃圾回收機制之前,我們要先講一下內存泄漏。
內存泄漏(Memory Leak)是指程序中已動態分配的堆內存由于某種原因程序未釋放或無法釋放,造成系統內存的浪費,導致程序運行速度減慢甚至出現系統崩潰的現象。
所以對于這些動態分配的內存一定要進行釋放。
## PHP垃圾回收機制:
在C語言當中內存的釋放是需要我們手動去處理的,雖然PHP底層也是用C實現的,但是官方人員已經考慮到了這個問題,已經實現了自動垃圾回收機制,這也就是我們PHP程序員基本上不用去關心內存溢出的問題,隨意的去使用變量的原因。
## PHP回收機制的原理:
1.我們要先了解PHP變量是如何存在于內存當中的(引用計數和寫時拷貝)
2.我們要了解PHP是什么時間去處理要回收的變量的()
## 官方機制講解:
1.[引用計數](https://www.php.net/manual/zh/features.gc.refcounting-basics.php)
2.[回收周期(Collecting Cycles)](https://www.php.net/manual/zh/features.gc.collecting-cycles.php)
3.[性能方面考慮的因素](https://www.php.net/manual/zh/features.gc.performance-considerations.php)