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

    xiaoxiao2021-12-14  18

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

    Java两种核心机制:

    ①Java虚拟机(Java Virtual Machine)

    ②垃圾收集机制(Garbage collection)

    二、核心机制之Java虚拟机

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

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

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

    三、核心机制之垃圾收集

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

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

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

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

    四、JDK、JRE、JVM

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

                 

    1、JDK(Java Development Kit)

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

                   

    2、JRE(Java Runtime Environment)

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

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

    3、JVM(Java Virtual Machine )

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

         

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

    转载请注明原文地址: https://ju.6miu.com/read-970792.html

    最新回复(0)