JDK,JRE,与JVM之间的区别和联系
作为一个java程序员,你可能会很熟悉java的各种技术,java的数据结构,java的设计模式等等。但是当被问到jdk,jre
和jvm之间有什么区别呢?可能我们一时间又会没有反应过来。我们来梳理一下他们之间的概念以及他们之间的区别和联系。
1:基本概念
jdk(Java Development Kit) :java语言开发包。jdk主要包括中包括四个文件夹:bin、include、jre、lib。jdk是java运行的
核心。包括java程序的编译的java程序的运行。
jre(Java Runtime Environmen):java运行环境,可以运行编译好的文件。、
jvm(Java Virtual Machine):java虚拟机,运行编译好的class。jvm要做的事情比较多。包括内存的分配回收,线程调度,
保证线程安全等等。
2:jdk,jre,jvm之间的联系和区别:
一句话概括他们之间的关系为:jdk是java开发工具。jdk下面的jre文件夹就是jre,jre文件夹下的 bin就是jvm。
jdk中的bin文件夹负责把java文件编译成为class文件。主要是javac.exe来进行这个操作。java设计者当初在设计java
语言的时候主张一次编译,处处运行。而这种编译成的class文件就直接与各种操作系统进行交流。我们在配置jdk环境
变量的时候配置了对应bin所在的文件夹。对于编译好的class文件,jvm负责运行。但是jvm并不能单独运行class文件,
它需要jre文件下的类库(lib)支持。尤其是lib文件夹下的rt.jar的支持。我们在环境变量中也配置了jvm的环境变量