守护线程了解吗?

在Java中,线程可以分为两类:守护线程(daemon线程)和用户线程(user线程)。

在JVM启动时,会调用main函数,主线程即为一个用户线程。除此之外,JVM内部还会同时启动许多守护线程,例如垃圾回收线程。

那么,守护线程和用户线程有何区别呢?其中一个区别是,当最后一个非守护线程结束时,JVM会正常退出,而不论是否还存在守护线程。换句话说,守护线程的结束并不会影响JVM的退出。只要至少存在一个用户线程尚未结束,通常情况下JVM就不会退出。

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题