JDK:JAVA程序开发包,通过JDK编写Java的程序;
JRE:JAVA运行环境,提供Java的一些标准实现和基本类库;
JVM:JAVA虚拟机,只认识 .class 字节码的文件,可以将class文件的字节码指令进行识别 并调用操作系统提供的API完成预期的任务
为什么Java可以实现跨平台,一次编写多次运行?
核心在于JVM,不同的操作系统有不同的APi,如果我们直接面向操作系统进行编程的话,是无法进行跨平台操作的。而Java引入了字节码的概念,JVM只认识字节码,它能解释系统的API调用,对不同的系统有不同的JVM实现,但这段代码被编译成字节码以后,它们都是一样的。JVM之所以能够实现跨平台,核心在于通过JVM隐藏了操作系统最底层的API,对于Java工程师来说,只需要面对JVM层面进行开发,再由JVM转义到对应系统的API完成对应的工作即可。