JDK
JDK是Java开发工具包,其中包括编译工具打包工具等,也包括JRE。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。JDK是整个JAVA的核心,包括了Java运行环境,Java工具和Java基础的类库
JRE
JRE,即Java运行环境,包含(Jvm虚拟机)与Java核心类库。单独有JVM不能执行class,因为在解释class的时候JVM需要调用解释所需要的类库lib。当写完java程序编译成.class之后,可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。JRE是JAVA程序运行时需要的运行环境,如果你光是运行JAVA程序而不是去搞开发,只安装JRE就能运行已经存在的JAVA程序。
JVM
JVM,即java虚拟机,是java运行时的环境,JVM是一种用于计算设备的规范,
可以把JVM理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令。
什么是字节码?采用字节码的最大好处是什么
字节码:Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),它不面向任何特定的处理器,只面向虚拟机。
采用字节码的好处:
Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。
总结
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM及Java核心类库。
JVM(Java Virtual Machine)即Java虚拟机,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。
JDK包含JRE,而JRE包含JVM
1.jdk是JAVA程序开发时用的开发工具包,其内部也有JRE运行环境JRE。
2.JRE是JAVA程序运行时需要的运行环境,就是说如果你光是运行JAVA程序而不是去搞开发的话,只安装JRE就 能运行已经存在的JAVA程序了。
3.JDk、JRE内部都包含JAVA虚拟机JVM,JAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等等。