虚拟机、运行时、main线程

1、Java虚拟机

Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

2、Java运行时

Java运行时是指Java虚拟机在运行的状态。可以看做是:进程级别的虚拟机。

任何语言要运行都需要自己的运行时,Java 程序的运行时叫 Java Runtime,Android 程序的运行时叫 Android Runtime,而具体 Runtime 是个什么东西呢,就是说一个程序要在一个硬件或者平台上跑,就必须要有一个中间层用来把程序语言转换为机器能听懂的机器语言。

3、Java运行时(Java进程)->main线程

看下面的代码:

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

执行的结果为:"Hello World!,但是整个程序的生命周期是什么样的呢?估计很少人能够说清楚吧。应该是这样的:

第一步:操作系统启动Java运行时,这是启动了Java进程。
第二步:Java运行时加载HelloWorld.class文件
第三步:Java运行时启动main线程,main线程仅仅是一个入口线程,它不是线程世界的老大,这一点非常重要,请务必牢记在心中。