问题:JDK和JRE区别是什么
他们的角色分别是什么?我们应该什么时候使用他们?
回答一
JRE是Java Runtime Environment(Java运行时环境)。它是一个包,集合了运行一个编译好的Java程序的一切必须的东西,包括Java虚拟机(JVM),Java 的类库,Java 命令和其他一些基础设施。但是它不能用于创建一个程序
JDK是Java Development Kit(Java 开发工具),它是功能齐全的Java SDK。它拥有JRE包含的一切,而且还有编译器 (javac)和工具(像 (javadoc 和jdb))。它有能力创建和编译一个程序。
通常来说,如果你只需要在你的电脑上运行一个Java程序,那你只需要安装JRE就够了。它能满足你所有需要。另一个方面,如果你想写一些java程序,你就需要安装JDK了。
有时候,即使你不打算在你的电脑上做Java开发,你仍然需要安装JDK。例如,你症状部署一个jsp的web应用程序,你只是技术性地运行一个Java程序在你的应用服务器上,为什么你还需要JDK呢?因为这个应用服务器会转换JSP成为Java servlets,并且需要使用JDK去编译这个serlets。当然还有更多的例子啦。
回答二
JDK是JRE的父集,包括了JRE的所有东西,外加一些工具例如编译器和必须的调试器用于开发applets 和 applications。JRE提供一些库和Java虚拟机(JVM),和其他用Java编程语言编写用于运行applets 和applications的一些组件。
文章翻译自Stack Overflow:https://stackoverflow.com/questions/1906445/what-is-the-difference-between-jdk-and-jre