Daemon thread provides the service to user thread. JVM terminates the dead thread automatically while its life depends upon the mercy of the user thread i.e. when all the user threads die.
Garbage Collection(GC), finalizers are known as java daemon threads that are running automatically.
Daemon thread provides the service to user thread for background supporting tasks.it had no more responsibility than to serve user threads. The life of the daemon thread depends on user threads. having low priority in a thread.
JVM negates the daemon thread if there I no more user thread. The main purpose of the daemon thread is to provide the services to the user thread for the background supporting task. If there is no user thread available then there is no requirement to run daemon thread. so it gets terminated automatically.