GC 뿌리에 대해 질문이 있습니다. GC 뿌리는 "라이브 스레드"라는 것을 읽었습니다. 그게 무슨 뜻 이죠? 저는 항상 각 스레드마다 자체 스택이 있고 스택의 로컬 변수가 스레드에 대한 GC 루트이고 지금은 혼란 스럽다는 인상을 받았습니다. 프레임 스택이나 네이티브 스택에없는 다른 유형의 객체 참조는 스레드 표현에 있습니까?GC 루트로 쓰레드
기타 젊은 세대 컬렉션은 GC 루트를 사용합니까, 아니면 주요 알고리즘에만 해당합니까?
감사
업데이트 : 좋아 죄송합니다, 그래서 간단하게하기 :이 짧은 기사를 읽었습니다 : yourkit.com/docs/java/help/gc_roots.jsp과 "스레드"옵션으로 거기 GC 루트, 정확하게 그 스레드가 GC 루트라는 것을 의미합니까? Thread GC 루트가 참조하는 객체는 스택에 의해 참조되지 않는 객체는 무엇입니까? 두 범주가 다른 이유는 무엇입니까?
귀하의 질문에 혼란이 있습니다. 1) 물론 GC 스레드에 대해서만 라이브 스레드 카운트합니다. 2) "쓰레드 표현"이란 무엇입니까? 3) 정적 변수는 스택이 아닌 GC 루트입니다. 4) 모든 GC 변형은 GC 루트를 고려합니다. 그것들을 고려하는 것이 불가능합니다. –
죄송합니다. 간단하게하기 위해 다음과 같은 짧은 글을 읽었습니다 : http://www.yourkit.com/docs/java/help/gc_roots.jsp 그리고 GC 루트로서 "Thread"옵션이 있습니다. 스레드가 GC 루트라는 것을 의미합니까? Thread GC 루트가 참조하는 객체는 스택에 의해 참조되지 않는 객체는 무엇입니까? 두 범주가 다른 이유는 무엇입니까? – alobodzk
@MarkoTopolnik 정적 변수가 루트라고 생각하지 않습니다. 그렇지 않으면 클래스 로더가 언로드되지 않습니다. –