1. 程序
(1)定义
程序是一个静态的概念,表示一系列有序的指令,它可以是用Java编写的源代码(.java 文件)或编译后的字节码(.class 文件)。
(2)性质
程序本身不占用资源,直到被运行。它是存储在磁盘上的代码和数据的集合。
2. 进程
(1)定义
进程是一个动态的概念,表示执行中的程序实例。每个进程都有其自己的地址空间、内存管理、资源和环境。
(2)性质
①每个进程都是有独立的资源和内存空间,相互之间相对隔离。
② 在Java中,一个Java虚拟机(JVM)实例通常对应一个进程。
③进程可以有多个线程。
3. 线程
(1)定义
线程是轻量级的进程,是程序执行中的最小单位。一个进程可以包含多个线程,这些线程共享进程的资源。
(2)性质
①线程之间的切换开销比进程小,因为同一进程中的线程共享内存和资源。
②在Java中,线程可以通过实现`Runnable`接口或扩展`Thread`类来创建。
③Java 提供了强大的多线程支持,包括多线程管理、线程间通信等功能。
4、总结
(1)程序是静态的,指的是代码本身。
(2)进程是动态的,指的是程序的执行实例,有独立的资源空间。
(3)线程是进程内的执行单元,多个线程可以并发地执行,相互共享进程资源。