Java常见面试题 -- JDK、JRE、JVM之间的区别

JDK : Java开发工具(Java Develpment Kit java)

JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API )。

Java常见面试题 -- JDK、JRE、JVM之间的区别_第1张图片
JRE: Java运行环境(Java Runtime Environment java)

包括两部分:Java Runtime EnvironmentJava Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)–编译器、调试器和其它工具。JRE需要辅助软件–Java Plug-in–以便在浏览器中运行applet。

没有JDK的话,无法编译Java程序,但在有JRE环境的系统上可以运行程序。所以当你只需要运行Java程序或Applet,下载并安装JRE即可。如果你要自行开发 Java软件,请下载JDK。

Java常见面试题 -- JDK、JRE、JVM之间的区别_第2张图片

JVM:Java虚拟机(Java Virtual Machine java)

引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

三者的联系
Java常见面试题 -- JDK、JRE、JVM之间的区别_第3张图片

1.有JVM就可以解释执行字节码文件(.class)

2.JVM解释执行这些字节码文件的时候需要调用类库,如果没有这些类库JVM就不能正确的执行字节码文件,JVM+类库=JRE,

3.有了JRE就可以正确的执行java程序了,但是光有JRE不能开放Java程序,所以JRE+开发工具=JDK,有了JDK,就可同时开发,执行JRE.

4.JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。

你可能感兴趣的:(Java面试,java,jvm,jdk,编程语言,linux)