1.
JDK
JDK
(
Java SE Development Kit
),
Java
标准的开发包,提供了编译、运行
Java
程序所需要的各种工具
和资源
,包括了
Java
编译器、
Java
运行时环境、以及常用的
Java
类库等。
2.
JRE
JRE
(
Java Runtime Environment
)
,
Java
运行时环境,用于解释执行
Java
的字节码文件
。普通用户只需要安装JRE
来运行
Java
程序即可,而作为一名程序员必须安装
JDK
,来编译、调试程序。
3.
JVM
JVM
(
Java Virtual Mechinal
),
Java
虚拟机,是
JRE
的一部分。
它是整个
Java
实现跨平台的核心
,负责解释执行字节码文件,是可运行Java
字节码文件的虚拟计算机。所有平台上的
JVM
向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。
当使用
Java
编译器编译
Java
程序时,生成的是与平台无关的字节码,这些字节码只面向
JVM
。也就是说
JVM
是运行
Java
字节码的虚拟机。
不同平台的
JVM
是不同的,但是他们都提供了相同的接口。
JVM
是
Java
程序跨平台的关键部分,只要为不同平台实现了相同的虚拟机,编译后的Java
字节码就可以在该平台上运行。
为什么要采用字节码:
在
Java
中,
JVM
可以理解的代码就叫做
字节码
(即
Java
源代码经过虚拟机编译器编译后扩展名为.class 的文件),它不面向任何特定的处理器,只面向虚拟机。
Java
语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。
所以
Java
程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,
Java
程序无须重新编译便可在多种不同操作系统的计算机上运行。
什么是跨平台:
所谓跨平台性,是指
java
语言编写的程序,一次编译后,可以在多个系统平台上运行。
实现原理:
Java
程序是通过
java
虚拟机在系统平台上运行的,只要该系统可以安装相应的
java
虚拟机,该系统就可以运行java
程序。
4.
总结
1.
JDK
用于开发,
JRE
用于运行
java
程序 ;如果只是运行
Java
程序,可以只安装
JRE
,无序安装
JDK
。
2.
JDk
包含
JRE
,
JDK
和
JRE
中都包含
JVM
。
3.
JVM
是
Java
编程语言的核心并且具有平台独立性。