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