>  기사  >  백엔드 개발  >  Python의 메모리 관리

Python의 메모리 관리

WBOY
WBOY앞으로
2023-09-10 21:33:031473검색

Python의 메모리 관리

메모리 효율적이고 실행 속도가 빠른 코드를 작성하는 것은 모든 프로그래밍 언어로 작업하는 모든 개발자가 원하는 것입니다. Python에서는 가비지 수집기가 있기 때문에 메모리 할당 및 할당 취소가 수동이 아닙니다.

이제 가비지컬렉터란 무엇일까요?

가비지 수집기

가비지 컬렉션은 메모리가 사용되지 않을 때 메모리를 해제하고 다른 개체에서 사용할 수 있도록 만드는 방법을 나타냅니다. Python은 더 이상 사용되지 않는 객체를 삭제합니다. 이것을 우리는 가비지 컬렉션이라고 부릅니다. 가비지 수집기는 프로그램 실행을 시작하고 참조 횟수가 0으로 떨어지면 활성화됩니다.

Python의 가비지 수집기는 프로그램 실행 중에 실행되며 개체의 참조 횟수가 0에 도달하면 트리거됩니다. 객체를 가리키는 별칭 수가 변경되면 객체의 참조 횟수도 변경됩니다.

이제 Python에서 메모리가 어떻게 할당되는지 살펴보겠습니다. -

정적 메모리 할당 - 스택

정적 메모리 할당에서는 컴파일 타임에 메모리가 할당됩니다. 스택 데이터 구조는 정적 메모리를 저장합니다.

스택에 메모리를 할당하는 간단한 예 -

으아아아

동적 메모리 할당 - 힙

동적 메모리 할당에서는 런타임에 메모리가 할당됩니다. 힙은 동적 메모리를 저장합니다. 객체가 더 이상 필요하지 않으면 메모리 공간이 해제됩니다.

2개의 정수에 대한 메모리가 힙에 할당되는 간단한 예 -

으아아아

위에서 설명한 것처럼 가비지 수집기는 프로그램이 시작될 때 실행을 시작하고 참조 횟수가 0으로 떨어지면 활성화됩니다. 참조 카운팅이 무엇인지 살펴보겠습니다.

참조 횟수

Python 가비지 수집기는 프로그램 실행을 시작하고 참조 횟수가 0으로 떨어지면 활성화됩니다. 참조 횟수가 언제 증가하거나 감소하는지 살펴보겠습니다

참조 카운트 값이 증가할 때 -

  • 사전이나 튜플에 새 이름이 할당되거나 할당되면 참조 횟수가 해당 값을 증가시킵니다.

  • 객체에 대한 참조를 재할당하면 참조 횟수가 해당 값을 감소시킵니다.

참조 카운트 값이 감소할 때 -

  • 객체의 참조가 범위를 벗어나면 이 값이 감소합니다.
  • 오브젝트를 삭제하면 값이 감소합니다.

따라서 참조 횟수는 실제로 한 객체가 다른 객체에 의해 참조되는 횟수입니다. 이런 방식으로 참조 횟수가 0으로 떨어지면 할당 해제가 발생합니다.

위 내용은 Python의 메모리 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제