说实话,我对所有这些术语(JDK / JRE / Java SDK)感到很困惑。我不确定每个人做了什么。
当我第一次在eclipse中开始做简单的java示例时,我很确定我只有JRE,我认为这是普通用户能够在其系统上运行java程序/ applet的默认java安装程序。
然而,现在我们在课堂上使用Google Appengine,这需要我猜的JDK与Java SDK相同。在浪费一些时间发现安装JDK意味着我还必须将java / bin添加到环境变量以使javac -version在命令提示符下工作我发现只有JDK有javac ......
我的早期java程序如何在没有安装JDK的情况下工作,因此没有javac?确实是主要的问题...... JRE和JDK之间有什么区别,你什么时候使用它们?
谢谢:)
答案 0 :(得分:35)
JRE = Java运行时环境 - 运行需要Java的程序/软件或使用Java编写的库所需的内容。例如,OpenOffice需要Java Runtime Environment
JDK / Java SDK = Java开发工具包/ Java软件开发工具包 - 您需要编写需要Java的程序或使用Java编写的库。例如,如果您要用Java编写自己的文字处理工具。
java
随JRE一起提供,因为它启动了VM(虚拟机)。它可以接收class
个文件,这些文件是使用JDK编译的文件。
JDK附带javac
,因为您需要将.java
文件编译成可以在JRE上运行的.class
文件。
答案 1 :(得分:17)
Eclipse有自己的内置编译器(称为ecj
),这可能是你没有安装JDK就可以使用它的原因。它不使用javac
。
Google App Engine使用JDK附带的javac
。
答案 2 :(得分:3)
JRE和JDK之间有什么区别?你什么时候使用它们?
JRE :Java运行时环境。它仅用于运行Java程序。正如Chris Jester -Young提到的那样,Eclipse有一个内置的编译器。这就是为什么你只需要JRE(运行eclipse)
如果您运送Java程序,客户端唯一需要的是运行时环境
JDK :Java Develpment Kit,其中还包含一个JRE,但还有其他用于程序开发的工具,例如java编译器 javac 等等。
如果你想创建java程序,你应该使用它。
答案 3 :(得分:2)
您无法使用JRE编译Java程序。 Java编译器javac只附带JDK。
答案 4 :(得分:1)
'有时你可以用jre'
开发没有。从不。
使用Java Development Kit进行开发。您可以使用Java运行时环境或引擎或其所谓的任何内容运行。