1.JDK:
jdk是Java开发工具包,基本上每个学java的人都会先在机器 上装一个JDK,在这个开发工具包里有几个核心的文件夹:bin、include、lib、jre。
. bin:最主要的是编译器(javac.exe)
. include:java和JVM交互用的头文件(其中包含C语言头文件)
.lib: 类库
.jre:java运行环境
2.JRE:
jre是指Java运行环境。编译好的class文件需要在jre这样的环境才能运行,它里面最核心的就是JVM,这个JVM起到了Java跨平台的核心作用;jre里面包含两个主要的文件夹:bin、lib;其中bin文件夹可以认为就是JVM,而lib就JVM解释字节码文件时需要用到的类库。(要注意区分JRE里面的bin文件夹和lib文件夹与JDK里面的bin文件夹,lib文件夹)
3.JVM:
JVM就是我们所说的虚拟机,Java程序会首先编译成.class的类文件,这类文件可以在虚拟机上运行,不直接与操作系统进行交互而是通过虚拟机和操作系统产生交互。JVM 的主要工作是解释自己的指令集(即字节码)到 CPU 的指令集或 OS 的系统调用,保护用户免被恶意程序骚扰。 JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的 组成包括 JVM 指令集,符号表以及一些补助信息。