JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
JVM, JDK, JRE和OpenJDK之间的区别是什么?
我在用Java编程时遇到了这些短语,它们之间有什么区别?
当前回答
JVM:描述运行java程序的方式/资源的规范。实际执行字节代码,使java平台独立。在这个过程中,不同的平台是不同的。windows的JVM不能像UNIX的JVM那样工作。
JRE: JVM的实现。(JVM +运行时库)
JDK: JRE + java编译器等基本工具,从零开始构建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。
JVM:描述运行java程序的方式/资源的规范。实际执行字节代码,使java平台独立。在这个过程中,不同的平台是不同的。windows的JVM不能像UNIX的JVM那样工作。
JRE: JVM的实现。(JVM +运行时库)
JDK: JRE + java编译器等基本工具,从零开始构建java程序
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。
总而言之:
JRE = JVM + Java包(如util, math, lang, awt, swing等)+ 运行时库 JDK = JRE +开发/调试工具
如果你想用java开发,你需要JDK,但如果你只想运行java,你需要JRE。
JVM:这实际上意味着字节码解释器。它依赖于平台。例如:在Windows平台上,'java.exe'或'javaw.exe'进程是jvm进程。
JDK:是一个包含开发和执行java程序/应用程序所必需的库和实用程序的工具包
JRE: java应用程序的执行环境。即,它只支持运行时依赖,包括JVM编译程序。如果我们想编译一个java程序,我们需要jdk。