【J2SE】JDK、JRE、JVM三者间的关系

一、Java程序运行机制及运行过程

Java两种核心机制:

①Java虚拟机(Java Virtual Machine)

②垃圾收集机制(Garbage collection)


二、核心机制之Java虚拟机

①Java虚拟机可以理解成一个以字节码(目标代码)为机器指令的CPU。

②对于不同的运行平台,有不同的虚拟机

【J2SE】JDK、JRE、JVM三者间的关系_第1张图片

③Java虚拟机机制屏蔽了底层平台的差别,实现了“一次编译,随处运行”。


三、核心机制之垃圾收集

①不再使用的内存空间应回收——垃圾收集。

②在C/C++等语言中,由程序员负责回收无用内存。

③Java需要消除了程序员回收无用内存空间的责任,提供了一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。

④垃圾收集在Java程序运行过程中自动进行,程序员无法精准控制和干预。


四、JDK、JRE、JVM

    JDK包括了Java运行环境(JRE)、Java工具和Java基础类库。JRE(Java Runtime Environment)是运行Java程序所必需的环境集合。包括JVM标准实现及Java核心类库。                                                                      

             【J2SE】JDK、JRE、JVM三者间的关系_第2张图片

1、JDK(Java Development Kit)

    JDK是面向Java开发人员使用的开发工具包,提供了Java的开发环境运行环境。是用于支持Java程序开发的最小环境。包括了Java运行环境(JRE)、工具及工具API。

               【J2SE】JDK、JRE、JVM三者间的关系_第3张图片


2、JRE(Java Runtime Environment)

    是运行基于Java语言编写的程序所不可缺少的运行环境,也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。JRE包括JVM、语言和工具基础库、集成库、工具集等。

    与大家所熟知的JDK不同,JRE是Java运行环境,并不是开发环境,所以没有包含任何开发工具(如编译器和调试器)。


3、JVM(Java Virtual Machine )

    就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分 ,所有的java程序首先被编译为class的类文件,这种类文件可以在虚拟机上执行。也就是说class文件并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互。

     【J2SE】JDK、JRE、JVM三者间的关系_第4张图片

    JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需在Java虚拟机上运行字节码(目标代码),就可以在多种平台上不加修改地运行。






你可能感兴趣的:(【J2SE】JDK、JRE、JVM三者间的关系)