JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
当前回答
Java是一种语言,它包含严格的强类型语法。
Java 2平台标准版,也称为J2SE,指的是平台,并包括Java中的类。Lang和java。IO包,等等。它是构建Java应用程序的基础。
Java虚拟机(JVM)是运行已编译Java代码的软件虚拟机。因为编译后的Java代码只是字节码,JVM负责在运行字节码之前将其编译为机器码。(这通常被称为即时编译器或JIT编译器。)JVM还负责内存管理,这样应用程序代码就不必这么做了。
Java开发工具包,或称JDK,过去是,现在仍然是Java开发人员用来创建Java应用程序的软件。它包含一个Java语言编译器、一个文档生成器、用于处理本机代码的工具,以及(通常)用于平台的Java源代码,以启用调试平台类。
Java运行时环境(JRE)过去是,现在仍然是最终用户下载来运行已编译的Java应用程序的软件。它包含一个JVM,但不包含JDK中绑定的任何开发工具。但是,JDK确实包含JRE。
其他回答
另一个值得一提的方面是:
JDK (java开发工具包)
正如名称所示,您将需要它用于开发目的。
例如:一家软件公司会在他们的计算机中安装JDK,因为他们需要开发新的软件,其中包括编译和运行他们的Java程序。
因此我们可以说JDK = JRE + JVM。
JRE (java运行时环境)
运行Java程序需要它。你不能用它来编译Java程序。
例如:一个普通的计算机用户想要运行一些在线游戏,那么他的系统中就需要JRE来运行Java程序。
java虚拟机
你可能知道它运行字节码。它使Java平台独立,因为它执行你编译Java程序后得到的.class文件,而不管你是在Windows、Mac还是Linux上编译。
开放的JDK
就像我上面说的。现在JDK是由不同的公司制作的,其中一个是开源的,免费供公众使用的是OpenJDK,而其他一些是Oracle公司的jrocit JDK或IBM JDK。
然而,对于普通用户来说,它们可能都是一样的。
结论
如果你是一个Java程序员,你的系统中需要JDK,这个包将包括JRE和JVM,但如果你是一个喜欢玩在线游戏的普通用户,那么你只需要JRE,这个包中没有JDK。
换句话说,JDK是祖父,JRE是父亲,JVM是他们的儿子。
JVM is abbreviated as Java Virtual Machine, JVM is the main component of java architecture. JVM is written in C programming language. Java compiler produce the byte code for JVM. JVM reading the byte code verifying the byte code and linking the code with the ibrary. JRE is abbreviated as Java Runtime Environment. it is provide environment at runtime. It is physically exist. It contain JVM + set of libraries(jar) +other files. JDK is abbreviated as Java Development Kit . it is develop java applications. And also Debugging and monitoring java applications . JDK contain JRE +development tools(javac,java)
OpenJDK是sun JDK的开源版本。Oracle JDK是Sun的官方JDK。
JVM:这实际上意味着字节码解释器。它依赖于平台。例如:在Windows平台上,'java.exe'或'javaw.exe'进程是jvm进程。
JDK:是一个包含开发和执行java程序/应用程序所必需的库和实用程序的工具包
JRE: java应用程序的执行环境。即,它只支持运行时依赖,包括JVM编译程序。如果我们想编译一个java程序,我们需要jdk。
JVM Java虚拟机,实际执行Java字节码。 它是JAVA平台上的执行块。它将字节码转换为机器代码。
JRE Java运行时环境,提供了执行Java应用程序的最低要求;它由Java虚拟机(JVM)、核心类和支持文件组成。
JDK Java开发工具包,它拥有开发应用程序软件的所有工具。它是JRE+JVM
Open JDK是Java平台的免费开源实现。
简单的图片来说明JDK、JRE、JDK。
JDK一般来说,它只会安装在开发环境中,比如在开发人员中,在公司的实时QA系统中。在服务器上运行的原始代码将没有JDK。
JRE是JDK的一部分,也可以独立安装在服务器上。在处理用户请求的实时服务器中,只安装JRE和开发人员开发的代码(*.class格式)
JVM Developer开发的代码>在开发机器上测试和执行。执行阶段需要Java的媒介。
.class文件不是本地代码(cpu能理解的代码)。如果.java文件直接转换为本机代码,则无法实现WORA(一次编写,随处运行)的概念。
本机代码因操作系统而异。所以,Java创建了一个叫做。class的中间文件和一个叫做“JVM”的神奇程序。将.class转换为本机代码是JVM的职责。