JVM
JVM是Java Virtual Machine的缩写,顾名思义是Java虚拟机。JVM是一种用于计算设备的规范,是通过在实际计算机上仿真模拟各种计算机功能来实现。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
JRE
JRE是Java Runtime Environment的缩写,顾名思义就是java运行时环境。JRE包含了JVM和java基础类库,是java程序运行时需要的软件环境,还有所有Java类库的class文件都存放在lib目录下,并且打成了jar包。
JDK
JDK是Java Development Kit的缩写,顾名思义是Java开发工具包,是给开发者使用java语言编写java程序时使用的开发工具包。JDK中包含了JRE,同时包含了编译Java源码的编译器javac,还包含了许多Java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了Java程序所需的文档和demo程序。
JVM、JRE、JDK三者的关系
可以通过一幅图来解释三者的关系:
JDK中包含着JRE,JRE中包含着JVM。JVM无法独立完成class文件的执行,解释class时需要JVM调用类库lib进行解释。JRE目录下有两个文件夹bin和lib,可以简单认为bin里就是jvm,lib是jvm工作时所需的类库,jvm和lib合起来就是JRE。
从程序开发过程来看,我们使用JDK(调用Java API)开发Java程序后,通过JDK的编译程序将我们所编写的Java程序编译成.class文件(或者称为Java字节码),在JRE上运行.class文件,JVM使用lib类库解析.class文件,将其解析后的指令映射到CPU指令集或OS的系统调用。
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92349 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!