JDK、JRE和JVM的作用
JDK(Java Development Kit):
包含JRE以及增加编译器和调试器等用于程序开发的文件。
bin:存放二进制文件目录,最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:存放类库文件
jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)
JRE(Java Runtime Environment):
包含Java虚拟机、库函数、运行Java应用程序所必须的文件。只能运行class而没有编译的功能。
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
JVM(Java Virtual Machine):
虚拟的用于执行bytecode字节码的“虚拟计算机”。是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。
JVM 是 Java 能够跨平台的核心。它通过在实际的计算机当中模拟实现某些计算功能来提现它自身的作用,引入Java虚拟机后,Java语言在不同平台上运行时就不需要重新编译。Java虚拟机屏蔽了与具体平台的相关信息,使得Java源程序在编译完成之后即可在不同的平台运行,可谓是“一次编译,到处运行”,Java语言的一大非常重要的特点就是跨平台,也即与平台的无关性,而这一特性的关键就是JVM。