JDK 和 JRE 是 Java 开发和运行工具, 其中 JDK 包含了 JRE, 但是 JRE 是可以独立安装的, 它们在 Java 开发和运行的时候起到不同的作用~
1.JDK
JDK 是 Java Development Kit 的缩写, 是 Java 的开发工具包, 主要包含了各种类库和工具, 当然也包含了另外一个 JRE.. 那么为什么要包含另外一个 JRE 呢? 而且 < JDK 安装目录 >/JRE/bin 目录下, 包含有 server 一个文件夹~ 包含一个 jvm.dll, 这说明 JDK 提供了一个虚拟机.
另外, JDK 的 bin 目录下有各种 Java 程序需要用到的命令, 与 JRE 的 bin 目录最明显的区别就是 JDK 文件下才有 javac, 这一点很好理解, 因为 JRE 只是一个运行环境而已, 与开发无关. 正因为如此, 具备开发功能的 JDK 所包含的 JRE 下才会同时有 server 的 JVM, 而仅仅作为运行环境的 JRE 下, 只需要 server 的 jvm.dll 就够了.
注意: JDK 所提供的运行环境和工具度需要进行环境变量的配置以后, 才能使用, 最主要的配置就是把 < JDK 安装目录 >/bin 目录设置为 Path 环境变量值的一部分.
2.JRE
JRE 是 Java Runtime Environment 的缩写, 是 Java 程序的运行环境. 既然是运行, 当然要包含 JVM, 也就是所谓的 Java 虚拟机, 还有所以的 Java 类库的 class 文件, 都在 lib 目录下, 并且都打包成了 jar.
至于在 Windows 上的虚拟机是哪个文件呢? 就是 < JRE 安装目录 >/bin/server 中的 jvm.dll.
另外, 安装 JRE 的时候安装程序会自动把 JRE 的 java.exe 添加到了系统变量中. 系统变量 Path 的最前面有 %SystemRoot%system32;%SystemRoot%; 这样的配置, 那样到 Windows/system32 目录下 main 去看看, 会发现一个 java.exe 文件. 这样就无需配置环境变量, 也可以运行 Java 程序了.
3.JDK 与 JRE 的区别
JDK 是 Java 的开发工具, 它不仅提供了 Java 程序运行所需的 JRE, 还提供了一系列的编译, 运行等工具, 如 javac,java,javaw 等. JRE 只是 Java 程序的运行环境, 它最核心的内容就是 JVM(Java 虚拟机) 及核心类库.
4.Tomcat 和 JDK 是什么关系
tomcat 是 java 的 web 项目运行容器之一;
jdk 是 java 运行环境. 也就是说 java 没有 jdk 肯定是没法编译运行的.
java 运行必须依赖于 jdk 环境, 但是不一定要用 tomcat 容器, 如 WebLogic,WebSphere 等都是可以的.
来源: http://www.bubuko.com/infodetail-3002953.html