소프트 레퍼런스 란?
Java® 코딩 언어에서 프로그래머가 해당 참조를 모르더라도 오브젝트, 문자열 및 변수에 대한 참조는 지속적으로 이루어집니다. 이러한 참조는 불필요한 정보를 수집하여 버려서 더 이상 메모리를 차지하지 않는 기능인 가비지 수집기와 직접 통신합니다. 기본적으로 모든 참조는 강력한 참조이며 코딩없이 설정되므로 가비지 수집기에 릴리스되지 않습니다. 소프트 참조는 데이터를 버릴 수있게합니다. 모든 비강도 참조에 대한 중간 수준의 참조입니다.
프로그래머가 Java®로 작업을 수행 할 때마다 문자열을 작성하거나 복잡한 기능을 작성하는 것만큼이나 간단합니다. 프로그래머는 참조 명령을 작성할 필요가 없습니다. 참조는 자동으로 이루어지며 기본적으로 강력한 참조입니다. 이는 참조의 데이터가 전체 스크립트에 필요한 필수 개체에 연결되어 있기 때문에 버릴 수 없음을 의미합니다.
그러나 일부 데이터는 그렇지 않으면 많은 메모리를 차지하기 때문에 버려야합니다. 예를 들어, 프로그래머가 일련 번호를 사용하거나 다른 임시 정보를 수집하거나 작성하는 스크립트를 작성하는 경우이 정보를 유지하는 것은 해로운 일이됩니다. Java® 프로그램은 필요하지 않은 경우에도 정보를 버리지 않고 스크립트가 작동하려면 점점 더 많은 메모리가 필요합니다.
코딩에 배치해야하는 소프트 참조로 문자열 또는 섹션을 지정하여 가비지 콜렉터에게 데이터를 해제 할 수 있음을 알려줍니다. 일단 해제되면 문자열 또는 섹션은 "널"로 읽습니다. 설정에 따라 가비지 수집기는 데이터를 언제 폐기할지 결정합니다.
소프트 참조, 약한 참조 및 팬텀 참조의 세 가지 비강 한 참조가 있습니다. 약한 참조는 약한 것이며, 그 데이터는 빨리 폐기됩니다. 임시 데이터가 여러 번 사용될 수있는 스크립트에 가장 적합한 소프트 참조는 다음 줄에 있습니다. 팬텀 레퍼런스는 1 초 안에 거의 자동으로 버려 지므로 드물게 사용해야합니다.
소프트 참조가 유지되는 시간은 일반적으로 컴퓨터의 메모리 양에 따라 다릅니다. 메모리가 가득 찬 경우 가비지 수집기는 먼저 모든 약한 참조를 삭제합니다. 모든 약한 참조가 사라지고 메모리가 여전히 데이터를 제거해야하는 경우 다음에 소프트 참조가 발생합니다.