1.JDK是什么?
JDK(Java Development Kit,java开发工具包)---------java语言的软件开发工具包(SDK)在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。
JDK的安装目录下有六个文件夹,一些描述文件和一个src压缩包。其中bin,include,lib,
jre这四个文件夹起作用,demo,sample中存放了一些例子。
bin:最主要的是编译器(javac.exe)
lib:类库
include:java和JVM交互用的同文件
jre:java运行环境(注意:JDK安装目录下的bin,lib与jre里的bin,lib不同)
2.JRE是什么?
JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
3.JVM是什么?
JVM是(Java Virtual Machine,Java虚拟机 )的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
以上三者的关系图解:
不难看出:JDK包含JRE,JRE包含JVM。
总结:JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
4.JDK版本
SE(J2SE),标准版,是我们通常使用的版本,从JDK5.0开始,改名为Java SE。
EE(J2EE),企业版,使用这种JDK开发J2EE应用程序,从JDK5.0开始,改名为Java EE。
ME(J2ME),micro edition,主要用于移动设备,嵌入式设备上的java应用程序,从JDK5.0开始改名为Java ME。
5.JAVA的优势之一:跨平台性
首先,java编译器将java源程序编译成与平台无关的.class文件(字节码文件),然后由各自不同平台的JVM对.class文件解释成与平台对应的机器指令。因此称为:一次编译,到处运行!
不同的平台本身有着不同的JVM,是JVM成就了Java的跨平台特性。
注意:java的跨平台性,是指.class文件能在不同的JVM上运行,所以说是.class文件跨平台,JVM不具有跨平台性!!因为每个平台的JVM都有可能是不同的。