面试——JDK 和 JRE 有什么区别?

JDK(Java Development Kit) java开发工具包,包含JRE和java的基础类库和一堆java工具(javac/java/jdb)

JRE(Java Runtime Environment) Java运行环境,包含JVM和java核心类库lib

JVM(Java Virtual Machine)java虚拟机

三者联系:JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JVM+Lib=JRE。总体来说就是,我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

你可能感兴趣的:(Java,interview)