From
Mindprod.com - Java - Threads
...
Threads that work in the background to support the runtime environment are called daemon threads. For example, the clock handler thread, the idle thread, the garbage collector thread, the screen updater thread, and the garbage collector thread are all daemon threads. The virtual machine exits whenever all non-daemon threads have completed. The daemon threads are then all automatically stopped when the JVM shuts down.
...