JRE和JDK的解释:
JDK:Java Development Kit,顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
组成
JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具
jdk结构图
JRE: Java Runtime Environment,顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
基础类库
JRE自带的基础类库主要是JRE\lib\rt.jar这个文件,包括了Java2平台标准版的所有类库。和JRE的版本一致。
Net Framekwork的核心类库
Net Framekwork的核心类库被放置在C:\Winnt\assembly\gac\目录下,按照不同的名称空间放在不同目录中,不像JRE打成了一个包。并且可以同时存在不同的版本,例如:
某类库1.0版本 C:\Winnt\assembly\gac\名称\1.0\名称.dll
某类库1.1版本 C:\Winnt\assembly\gac\名称\1.1\名称.dll
这样做,虽然很灵活,可以随时把类库更新到最新的状态,但是很容易带来版本管理的复杂度,造成版本不一致。
JRE和JDK的区别及联系
总结:JRE包含JVM和核心类库,而JDK包含JER和开发工具。如果你需要运行java程序,只需安装JRE就可以了,如果你需要编写java程序,需要安装JDK。