摘要:
JDK
是Java
语言的软件开发工具包(SDK)
。在JDK
的安装目录下有一个jre目录,里面有两个文件夹bin和lib
,在这里可以认为bin
里的就是jvm
,lib
中则是jvm
工作所需要的类库,而jvm和 lib
合起来就称为jre
。
JDK(Java Development Kit)
是整个JAVA
的核心,包括了Java
运行环境(Java Runtime Envirnment),一堆Java
工具(javac/java/jdb等)
和Java
基础的类库(即Java API
包括rt.jar
)。
JDK
是java
开发工具包,基本上每个学java
的人都会先在机器 上装一个JDK
,那他都包含哪几部分呢?
在目录下面有 六个文件夹
、一个src
类库源码压缩包、和其他几个声明文件。其中,真正在运行java
时起作用的 是以下四个文件夹:bin、include、lib、 jre
。有这样一个关系,JDK包含JRE,而JRE包 含JVM
。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
(注意:这里的bin、lib文件夹
和jre
里的bin、lib
是 不同的)
总的来说JDK
是用于java
程序的开发,而jre
则是只能运行class
而没有编译的功能。
JRE(Java Runtime Environment,Java运行环境)
,包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。 (jre里有运行.class的java.exe)
JRE ( Java Runtime Environment ),是运行 Java 程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的 地位就象一台PC机一样,我们写好的Win64应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
JVM(Java Virtual Machine),即java虚拟机, java运行时的环境,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
针对java用户,也就是拥有可运行的.class文件包(jar或者war)的用户。里面主要包含了jvm和java运行时基本类库(rt.jar)。rt.jar可以简单粗暴地理解为:它就是java源码编译成的jar包。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。