编者注:这个问题是在2009年提出的,世界在哪里不同。到2022年,标准的开源OpenJDK将只支持jdk。
JDK和JRE有什么区别?
它们的角色是什么,什么时候应该使用其中一个或另一个?
编者注:这个问题是在2009年提出的,世界在哪里不同。到2022年,标准的开源OpenJDK将只支持jdk。
JDK和JRE有什么区别?
它们的角色是什么,什么时候应该使用其中一个或另一个?
当前回答
从官方java网站…
JRE (Java运行环境):
它是实际执行Java程序的Java虚拟机*的实现。 Java运行时环境是运行Java程序所需的插件。 JRE比JDK小,所以它需要更少的磁盘空间。 JRE可从 https://www.java.com 它包括JVM、核心库和其他附加组件,用于运行用Java编写的应用程序和小程序。
JDK (Java Development Kit)
它是一组软件,可以用来开发基于Java的应用程序。 开发Java应用程序需要Java开发工具包。 JDK需要更多的磁盘空间,因为它包含JRE和各种开发工具。 JDK可以免费下载/支持 https://www.oracle.com/technetwork/java/javase/downloads/ 它包括JRE、一组API类、Java编译器、Webstart和编写Java小程序和应用程序所需的附加文件。
其他回答
JRE
JRE是Java运行时环境的首字母缩写。它用于提供运行时环境。它是JVM的实现。它是物理存在的。它包含一组库+ JVM在运行时使用的其他文件。
JDK
JDK是Java Development Kit的首字母缩写。它是物理存在的。它包含JRE +开发工具。
链接:- http://www.javatpoint.com/difference-between-jdk-jre-and-jvm
通常,当您只关心在浏览器或计算机上运行Java程序时,您只会安装JRE。这就是你所需要的。另一方面,如果您计划进行一些Java编程,则还需要JDK。
如果你是一个Java程序员,你的系统中需要JDK,这个包将包括JRE和JVM,但如果你是一个喜欢玩在线游戏的普通用户,那么你只需要JRE,这个包中没有JDK。
JVM JVM (Java Virtual Machine) is an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed. JVMs are available for many hardware and software platforms. JVM, JRE and JDK are platform dependent because configuration of each OS differs. But, Java is platform independent. JRE It contains everything you need to run Java applications in compiled form. You don't need any libraries and other stuffs. All things you need are compiled. JRE is can not used for development, only used for run the applications. Java SE Development Kit (JDK) The JDK includes the JRE plus command-line development tools such as compilers and debuggers that are necessary or useful for developing applets and applications.
(来源:GeeksForGeeks Q&A, Java平台概述)
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的。
JDK和JRE之间的区别在于,JDK是java的软件开发工具包,而JRE是运行程序的地方。
假设,如果你是一个开发人员,那么你的角色是开发程序以及执行程序。所以你必须有开发和执行的环境,这是由JDK提供的。
假设,如果你是一个客户,那么你不必担心开发。您只需要一个运行程序并只获得结果的环境,这是由JRE提供的。
JRE执行应用程序,但JVM逐行读取指令,因此它是解释器。
JDK = JRE +开发工具
JRE = JVM +库类