JDK / JRE / JVM / Java SDK | 这些都意味着什么? 有时您可以使用JRE进行开发,有时您需要JDK?

说实话,我对所有这些术语都非常困惑(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之间有什么区别,你什么时候使用它们?

谢谢 :)

Eclipse有自己的内置编译器(称为ecj ),这可能是你没有安装JDK就可以使用它的原因。 它不使用javac

Google App Engine使用JDK附带的javac

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文件所需的内容。

JRE和JDK有什么区别,你什么时候使用它们?

JRE :Java运行时环境。 它仅用于运行Java程序。 正如Chris Jester -Young所提到的,Eclipse有一个内置的编译器。 这就是为什么你只需要JRE(运行eclipse)

如果您运送Java程序,则客户端唯一需要的是此运行时环境

JDK :Java Develpment Kit,里面还包含一个JRE,但还有其他用于程序开发的工具,比如java编译器javac等。

如果你想创建java程序,你应该使用它。

您无法使用JRE编译Java程序。 Java编译器javac只附带JDK。

  • 您可以使用任何文本编辑器编写Java程序,您无需执行任何特殊操作。
  • 您需要JRE来运行Java程序。 JRE包括运行已编译的Java程序所需的Java虚拟机。
  • 您需要JDK来编译Java程序。 因此,如果您是Java开发人员,除了Java虚拟机之外,您可能只想安装JDK,因为它带有编译所需的工具。

‘有时你可以用jre’发展’

没有永不。

您使用Java Development Kit进行开发。 您可以使用Java运行时环境或引擎或其调用的任何内容运行。