1、Java虚拟机的生命周期
如果在同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。
在Java虚拟机内部有两种线程,守护线程和非守护线程。守护线程通常是由虚拟机自己使用的,比如执行垃圾收集任务的线程。但是,Java程序也可以把它创建的任何线程标记为守护线程。而Java程序中的初始线程——就是开始于main()的那个,是非守护线程。
只要还有任何非守护线程在运行,那么这个Java程序也在继续运行(虚拟机仍然存活)。当该程序中所有的非守护线程都终止时,虚拟机实例将自动退出。
2、Java虚拟机的体系结构