Threads are organized into groups. The default structure is:
An administrator with console access can check the current threads and threads groups with the threads command. It prints out the structure of threads and threads groups in the living j5m system:
//domain1/1403992212097 > threads java.lang.ThreadGroup[name=system,maxpri=10] Thread[Reference Handler,10,system] Thread[Finalizer,8,system] Thread[Signal Dispatcher,9,system] Thread[RMI TCP Accept-0,5,system] Thread[RMI Reaper,5,system] Thread[GC Daemon,2,system] java.lang.ThreadGroup[name=main,maxpri=10] Thread[main,5,main] Thread[j5m-fundamentals,5,main] java.lang.ThreadGroup[name=mcast-init,maxpri=10] java.lang.ThreadGroup[name=j5m-fundamentals-daemons,maxpri=10] Thread[console,5,j5m-fundamentals-daemons] java.lang.ThreadGroup[name=j5m-nugget,maxpri=10] Thread[nugget-dead-queue-retry,5,j5m-nugget] Thread[nugget-dead-queue,5,j5m-nugget] Thread[nugget-heartbeat-queue,5,j5m-nugget] Thread[nugget-api-bus,5,j5m-nugget] java.lang.ThreadGroup[name=registry,maxpri=10] Thread[object,5,registry] java.lang.ThreadGroup[name=app:66a3edf055174f32dbfcfd9c9a67d4938f1c169d,maxpri=10] Thread[/walker,5,app:66a3edf055174f32dbfcfd9c9a67d4938f1c169d] java.lang.ThreadGroup[name=RMI Runtime,maxpri=10] OK: done