JDK:Java Development Kit
Java语言的软件开发工具包,是Java程序开发的核心所在。
包含了java的运行环境(jre)、Java工具以及Java基础的类库。
JRE:Java Runtime Environment
Java的运行环境,Jre的内部具有一个Java虚拟机(Jvm)以及 Java核心类库和支持文件。
JVM:JAVA Virtual Machine
Java虚拟机,是一种虚构出来的计算机,是通过实际的计算机上模拟仿真各种计算机功能来实现的,Jvm是主流虚拟机之一。
JVM功能:将字节码文件(扩展名为.class的文件)解释成具体系统平台的机器指令。
JVM是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与计算机的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
关系:JDK包含JRE JRE包含JVM
Java跨平台的原理
首先将java文件编译成字节码.class文件,使用java虚拟机JVM运行字节码文件,Java的开发团队针对不同的平台开发出了对应版本的java虚拟机,这使得同一个java代码文件可以再不同的平台上运行。
所以,java能实现跨平台运行是因为有各种平台对应版本的java虚拟机的支持。