2017-04-26 1 views
-1

이전 개체를 가리키는 변수가 다른 개체를 가리키고있을 때 이전 개체가 어떻게되는지 알고 싶습니다. 그들은 삭제 되었습니까 또는 무엇입니까? 이미 다른 객체가있는 변수에 새 객체를 설정하면 이전 객체는 어떻게됩니까?

classA var = new classA(); 
var = new classB(); 

이 설정되어있는 변수 "var에"객체 "ClassB가"에 같을 때 객체 "를 ClassA는"삭제 (즉,이 변수에 "VAR"를 만들었습니다)인가?

+0

둘 다 첫 번째와 두 번째 대답은 질문에 대해 자세히 설명합니다. 그리고 힌트 : 그러한 것들이 ** 문서화되어 ** 있다는 것을 이해하십시오. 가비지 수집을 다루는 합리적인 문서는 그러한 것들을 설명합니다. 그런 종류의 질문을하기 전에 먼저 정말로 연구를해야합니다. – GhostCat

+0

죄송 합니다만 말씀 드리기 전에 "쓰레기 수거"에 대해 몰랐습니다. 나는 내 질문을 검색했는데 내 말을 듣고 명확한 답을 찾을 수 없었다. –

답변

3

개체에 대한 모든 참조가 없어지면 해당 개체는 가비지로 선정 될 수 있습니다. 조만간 가비지 수집기는이 객체를 메모리에서 제거합니다. 그러나 충분한 기억이 있다면 '나중에'는 전혀 일어나지 않을 수도 있습니다. 보장은 없습니다.

관련 문제