JVM生命周期可以分为以下三个阶段
启动:任何class文件的main函数都可认为是jvm示例的起点。
运行:以main函数为起点,后续的线程都由它启动,包括守护线程和用户线程。main方法启动的线程是用户线程,守护线程是JVM自己使用的线程如GC线程。
退出&异常退出:用户线程完全退出了,jvm示例结束生命周期。
JVM退出可能原因分析
(1)执行了System.exit()方法。
(2)程序正常运行结束(程序的运行,是启动JVM的一个进程,进程中包含一个主线程去运行应用程序)
(3)程序运行过程中遇到了异常或错误而异常退出(如在main函数中执行运行程序而不捕捉异常,而是在main方法将异常抛出,则此异常会抛至JVM致使进程终止)
(4)操作系统异常导致的JVM进程终止(JVM向下关联不同类型的操作系统)
时间: 2024-10-07 07:04:53