>  기사  >  백엔드 개발  >  PHP 가비지 수집 메커니즘의 이해

PHP 가비지 수집 메커니즘의 이해

巴扎黑
巴扎黑원래의
2016-11-11 10:01:50906검색

PHP 가비지 수집 메커니즘은 php5 이후에만 존재했던 것입니다. PHP 가비지 수집 메커니즘에 대한 이해를 소개하겠습니다. 모든 학생들에게 도움이 되기를 바랍니다.

PHP 5.3 이전에 사용된 가비지 수집 메커니즘은 간단한 "참조 계산"입니다. 즉, 각 메모리 객체에 카운터가 할당됩니다. 변수 참조가 제거되고 카운터가 -1이 됩니다. 카운터 = 0이면 메모리 개체가 사용되지 않고 메모리 개체가 삭제되며 가비지 수집이 완료되었음을 나타냅니다.

"참조 카운팅"에 문제가 있습니다. 즉, 두 개 이상의 개체가 서로 참조하여 링을 형성하는 경우 이때 메모리 개체의 카운터가 0으로 줄어들지 않습니다. 이 메모리 개체 그룹은 더 이상 유용하지 않지만 재활용할 수 없으므로 메모리 누수가 발생합니다.

php5.3부터 참조 계산을 기반으로 하는 새로운 가비지 수집 메커니즘이 사용됩니다. 메모리 누수를 방지하기 위한 링의 존재를 감지합니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.