title: Thread as a GC root
body: <p>I have a question about GC roots. I read that one of the GC roots is "Live thread". What does that mean? </p>
  
  <p>I always had the impression that each thread has its own stack and local variables of a stack are GC roots for thread, and now I'm confused. What other types of object references, which are not on frame stack or native stack does thread representation have?</p>
  
  <p>Another question is does young generation collection use GC roots, or it's only for major algorithms?</p>
  
  <p>Thanks</p>
  
  <p>Update:
  Ok sorry, so to keep it simple: I've read this short article: yourkit.com/docs/java/help/gc_roots.jsp and there's a "Thread" option as GC root, what exactly does that mean that thread is a GC root? What kind of objects are referenced by Thread GC root, that are not referenced by its stack? Why are those two categories different?</p>