编者注:这个问题是在2009年提出的,世界在哪里不同。到2022年,标准的开源OpenJDK将只支持jdk。
JDK和JRE有什么区别?
它们的角色是什么,什么时候应该使用其中一个或另一个?
编者注:这个问题是在2009年提出的,世界在哪里不同。到2022年,标准的开源OpenJDK将只支持jdk。
JDK和JRE有什么区别?
它们的角色是什么,什么时候应该使用其中一个或另一个?
当前回答
假设,如果你是一个开发人员,那么你的角色是开发程序以及执行程序。所以你必须有开发和执行的环境,这是由JDK提供的。
假设,如果你是一个客户,那么你不必担心开发。您只需要一个运行程序并只获得结果的环境,这是由JRE提供的。
JRE执行应用程序,但JVM逐行读取指令,因此它是解释器。
JDK = JRE +开发工具
JRE = JVM +库类
其他回答
如果您想运行Java程序,但不想开发它们,请下载Java运行时环境(JRE)。如果您想开发它们,请下载Java开发工具包或JDK
JDK
JDK是一个工具包,包括开发和运行java应用程序所需的东西。
JDK是用于构建应用程序、组件和小程序的开发环境。
JRE
它包含以编译形式运行Java应用程序所需的所有内容。你不需要任何库和其他东西。你需要的所有东西都编译好了。
JRE不能用于开发,只能用于运行应用程序。
JDK和JRE之间的区别在于,JDK是java的软件开发工具包,而JRE是运行程序的地方。
简单:
JVM是执行Java代码的虚拟机
JRE是运行Java应用程序所需的环境(标准库和JVM)
JDK是带有开发人员工具和文档的JRE
JVM, JRE, JDK——这些都是Java语言的主干。每个组件单独工作。JDK和JRE在物理上是存在的,但JVM是一个抽象机器,这意味着它在物理上不存在。
JVM is the subsystem of JDK and JRE which is used to check the intermediate code known as "bytecode". It first loads the "class file" (having .c extension) generated by the Java compiler (javac) through JVM subsystem classloader and classified memory location (class area, stack, heap and pc registers) according to their use. Then it checks all the bytecode to ensure that it is returned in Java and all memory accessibility access by the network. The interpreter's work starts after that where it checks the whole program line by line. The results are finally shown in the console/browser/application through JRE (Java Runtime Environment) which runtime facilities.
JRE也是JDK的一个子系统,它提供了运行时工具,如JVM、类、可执行文件(如.jar文件)等。
JDK是Java Development Kit的缩写。它包含Java编程中使用的所有必要组件,如类、方法、swing、AWT、包、Java(解释器)、javac(编译器)、appletviewer (applet应用程序查看器)等。总之,它包含了开发应用程序所需的所有文件,无论是独立的还是基于web的。
编译代码和将Java代码转换为字节码需要JDK,而执行字节码需要jre。