JVM、JDK、JRE三者的关系
- JDK(Java Development Kit):是sun公司给java开发者使用的java开发工具包。JDK包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin中的就是JVM,lib中的就是JVM工作所需要的类库,而JVM和类库合在一起就称为JRE。JDK是整个java的核心,包括了JRE、Java工具(javac、java、jdb等)和Java基础的类库(即Java API包括rt.jar)
- JRE(Java runtime environment):是运行基于Java语言编写的程序所不可缺少的运行环境。JRE包含了JVM的标准实现和Java核心类库。
- JVM(Java Virtual Machine):也就是虚拟机,是整个Java实现跨平台的最核心部分。它的任务就是将字节码指令进行识别并解释成具体系统平台的机器指令(这个过程需要调用解释所需要的jre目录下的类库lib)。
关系图如下
总结
这样我们就可以理出一条线路了,我们利用了JDK中的API开发了Java程序后,通过JDK中的javac编译器将Java文件编译成字节码文件,然后在(JRE这个环境下)JVM中解释这些Java字节码文件。