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

Jav*_*med 27 java eclipse javac

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

谢谢 :)

Viv*_*ath 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文件编译成.class可以在JRE上运行的文件所需的内容.


Chr*_*ung 17

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

Google App Engine使用javacJDK附带的.