JDK/JRE/JVM/Java SDK |它们都是什么意思?有时你可以用JRE开发,有时你需要JDK?

2022-09-01 15:16:07

说实话,我对所有这些术语(JDK / JRE / Java SDK)都非常困惑。我不确定每个人做了什么。

当我第一次开始在eclipse中做简单的java示例时,我很确定我只有JRE,我相信这是普通用户用来在他们的系统上运行java程序/小程序的默认java安装程序。

但是,现在在课堂上我们使用Google Appengine,这需要JDK,我猜它与Java SDK相同。在浪费了一些时间发现安装JDK意味着我还必须将java / bin添加到环境变量以使javac -version在命令提示符下工作之后,我发现只有JDK具有javac...

我早期的Java程序在没有安装JDK的情况下是如何工作的,因此没有javac?真正的主要问题...JRE 和 JDK 之间有什么区别,您何时使用它们?

谢谢:)


答案 1

JRE = Java 运行时环境 - 运行需要 Java 的程序/软件或使用用 Java 编写的库所需要的。例如,OpenOffice 需要 Java Runtime Environment。

JDK/Java SDK = Java Development Kit/Java Software Development Kit - 编写需要 Java 的程序或使用用 Java 编写的库所需要的。例如,如果您要用Java编写自己的文字处理工具。

java随 JRE 一起提供,因为它会启动 VM(虚拟机)。它可以接收使用 JDK 编译的文件。class

JDK 附带了,因为这是将文件编译为可以在 JRE 上运行的文件所需的内容。javac.java.class


答案 2

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

Google App Engine使用JDK附带的。javac


推荐