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
程序。