应用程序是以进程的方式运行在操作系统中,是操作系统分配资源的最小单位,进程中可以有多个线程。
进程组成:程序段、数据段、进程控制块(进程ID、名称、状态、地址、文件句柄,上下文等)
程序段:是进程中的代码程序指令集合,执行指令运行时,在内存中。
数据段:是进程操作的数据集合,是在内存中
进程控制块:是进程的基本信息和控制信息,进行的唯一标识
Java的应用程序运行在Java虚拟机中,每执行一个Java应用程序,就会启动一个JVM进程,而JVM进程中是以线程来运行,执行main()方法后会产生一个java应用程序的主线程,有以JVM自动垃圾回收(GC),所以Java进程中至少启动两个线程,main主线程和GC守护线程,JVM进程的结束是随着主线程运行完成而结束的。
线程:由线程基本信息、程序计数器、线程基本信息组成。是进程程序段执行完一遍程序流程,是CPU最小调度单位,进程可以有一个或一个以上的线程,进程中的线程之间可以共享进行的内存空间、系统资源。