Skip to main content

약한 참조는 무엇입니까?

∎ 약한 참조는 물체와의 연관성으로 인해 쓰레기 수집 루틴에 의해 물체가 정리되는 것을 막지 않는 메모리의 물체에 대한 참조입니다.이 유형의 기준은 일반적으로 정상적인 쓰레기 수집이 발생하는 것을 방해하는 특수 조건이 존재할 때 메모리 누출을 제거하는 데 일반적으로 사용됩니다.약한 참조를 사용하여 순환 참조를 사용하거나 외부 정보를 캐시 또는 특수 구조 이점을 보유하는 프로그래밍 알고리즘.이러한 유형의 상황에서 약한 참조의 활용은 사용하지 않는 참조 객체와 관련 약한 참조를 정리할 수있게합니다.

객체가 생성 될 때 기본적으로 강력한 참조는 기본적으로 생성됩니다.강력한 참조가 실행 가능한 한 객체는 할당되어 있습니다.강력한 참조가 무효화되고 관련 객체가 강한 참조 직후에 메모리가 해제되고 그 객체는 더 이상 프로그램에 의해 사용되지 않는 것으로 표시됩니다.소켓 프로그래밍 또는 이미지 조작 애플리케이션과 같은 특정 상황에서 작업 객체를 작성하는 데 사용되는 클래스에는 특정 응용 프로그램이 필요로하는 추가 정보를 저장할 수있는 내장 용량이 없습니다.연결 또는 그림과 같은 과도 객체에 대한 추가 세부 사항은 보충 캐시 객체에 저장하고 참조에 의해 과도 객체에 연결되어야합니다.강한 참조 대신 약한 참조가 사용되는 경우, 추가 정보는 참조에 의해 구속되지 않으며 참조 객체가 생존 할 수없는 것으로 표시되면 가비지 수집기에 의해 캐시에서 제거 될 수 있습니다.Java, Python, Perl, C#및 .NET 프레임 워크를 포함한 쓰레기 수집 서브 시스템에서 보강하는 언어로 제공됩니다.그러나 C ++에서 프로그래머는 일반적으로 메모리 정리를 보장하는 책임이 있습니다.이 언어는 약한 참조 및 쓰레기 수집이 제공하는 것과 동일한 기능을 제공하는 스마트 포인터 클래스를 구현하여 부적절한 포인터 정리로 인한 메모리 누출을 줄이는 데 도움이됩니다.강력하거나 약한 참조 이외의 참고 문헌을 제공하여 언어의 기능을 향상시킵니다.소프트 참조 및 팬텀 참조와 같은 데이터 유형은 이러한 언어에 포함될 수 있으므로 다양한 수준의 객체 요약 또는 거래 알림이 가능합니다.자동 가비지 컬렉션으로 언어를 사용하는 프로그래머는 응용 프로그램 성능을 향상시키기 위해 사용할 수있는 모든 참조 클래스에 익숙해 져야합니다.