파이썬 객체 지향 라이프 사이클 접근 방식

계수 개체의 방법

__new__ 실행이 __init__ 전에 요격에 개체를 사용합니다.

오브젝트 스토리지 원칙 :

  • 모든 파이썬 객체 기본 데이터 유형이 존재하지 않습니다
  • 모든 개체는 메모리에 저장됩니다. 메모리 주소 ID (), 진수 ()는 16 진수 주소를 볼 수 있습니다.
  • 문자의 짧은 일반적인 값은, 캐시는 더 같은 객체의 생성하지 않습니다. 동일한 객체 ID () 값과의 값
  • 다른 목적 스토리지 컨테이너 개체, 그냥 다른 객체가 아닌 다른 객체 자체를 참조하십시오.

파이썬 메모리 관리기구 + = 가비지 콜렉션 가비지 컬렉션

  참조 카운터 (고성능)

  • 하나 카운트 기준 시간을 낮추고, 상기 기준 시간이 하나의 카운트를 증가
  • 참조 카운트 가져 오기 SYS sys.getrefcount (개체) 확인
  • 장면 추가 (생성 / 인용 / 함수에 파라미터로서 전달 / 용기의 요소로서 저장)
  • 마이너스 원 (Minus One) 장면 (삭제하기 / 새로운 객체 / 객체 잎을 그 범위 / 목적 상주가 파괴 컨테이너를 받았다)

  가비지 콜렉션은 (순환 참조의 문제를 해결하기 위해) 아직 관련 개체를 제거, 순환 참조 객체를 찾은 경험이 풍부한 견적을 발표하지 않은 카운터 메커니즘에서 객체

  - 순환 참조를 찾는 방법

          컨테이너의 모든 개체를 수집 1. 이중 연결리스트에 의해 참조 (당신은 / 튜플 / 사전 / 사용자 정의 클래스 객체 객체 등의 목록과 같은 다른 객체를 참조 할 수 있습니다)

          변수의 gc_refs하여 각 컨테이너 객체 2. 현재의 레퍼런스 카운트를 기록 할

          각 컨테이너 객체 3. 그 컨테이너 객체 참조를 찾기 위해, 한 컨테이너 객체에 의하여 참조 횟수

          기준 카운트가 0 인 경우, 상기 단계 후에 4. 컨테이너 객체는, 담당자가 복구 할 수

       - 순환 참조 수입 objgraph의 objgraph.count ()는 물체의 개수를 확인하기

  감소,이 개체 식별 장수 송풍이 검출 대상의 주파수보다 큰 실제 수명을 가정 오브젝트 (10)의 감지 기능이 없다고 가정 - 순환 참조의 성능을 향상

        기구 1 개체는 이후 세대에 속하는 생성 0

            경험 세대 가비지 콜렉션이 아직 살아 경우 2. 다음 세대로 구분됩니다

           3. 가비지 콜렉션주기 위해서, 세대 0 0 세대 가비지 컬렉션 특정 수 발생 및 복구를 트리거

                     가비지 콜렉션의 특정 번호 대신에 1, 0, 1, 2 세대 재활용 생성을 트리거 할

                           확인하고 관련 매개 변수가 GC gc.get_threshold를 가져올 설정 () gc.set_threshold (500,10,5)

      가비지 수집기 중 새로운 목적 및 번호의 소실의 수는 특정 임계 뜻 트리거 가비지 검출 gc.set_threshold (500,10,5) (500)의 임계 값이 도달

추천

출처www.cnblogs.com/tingxin/p/12203763.html