JDK JRE JVM

JVM

Java 虚拟机(Java Virtual Machine)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行,这就是Java能够“一次编译,随处可以运行”的原因。

一个Java文件的执行过程大致为:后缀为.java的文件通过Java编译器Javac(Java complier)编译成Java字节码文件.class文件,.class文件是jvm可以识别的唯一字节码文件,class文件最终被JVM翻译成计算机能识别的汇编语言。

.JAVA  -->  通过JAVAC编译  -->  .CLASS  -->  通过解释器&JIT  -->  机器语言

JVM 并不是只有一种!只要满足 JVM 规范,每个公司、组织或者个人都可以开发自己的专属 JVM。 

JDK

JDK(Java development kit):JDK是Java语言的软件开发工具包,是Java程序开发的核心所在。程序员如果需要学习Java语言的相关编程,都需要搭建好安装好Jdk,Jdk中包含了Java的运行环境(Jre)、Java工具和Java基础的类库。

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

JDK 是功能齐全的 Java SDK。它拥有 JRE 所拥有的一切,还有编译器(javac)和工具(如 javadoc 和 jdb)。它能够创建和编译程序。

JRE

JRE(Java Runtime Enviroment):Java的运行环境,Jre的内部具有一个Java虚拟机(Jvm)以及Java核心类库和支持文件。但不包含开发工具(Jdk)–编译器、调试器和其它工具。

JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。


三者联系

简单来说:JDK包括JRE包括JVM

在JDK的安装目录下有一个JRE目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是JVM,lib中则是JVM工作所需要的类库,而JVM和lib合起来就称为JRE。

如果你只是为了运行一下 Java 程序的话,那么你只需要安装 JRE 就可以了。如果你需要进行一些 Java 编程方面的工作,那么你就需要安装 JDK 了。但是,这不是绝对的。有时,即使您不打算在计算机上进行任何 Java 开发,仍然需要安装 JDK。

        例如:如果要使用 JSP 部署 Web 应用程序,那么从技术上讲,您只是在应用程序服务器中运行 Java 程序。那你为什么需要 JDK 呢?因为应用程序服务器会将 JSP 转换为 Java servlet,并且需要使用 JDK 来编译 servlet。


 

你可能感兴趣的:(jvm,java,开发语言)