什么是JDK?什么是JRE?
1. JDK
当然用系统的说法是,JDK(Java Development Kit)(百度参考),简而言之是,是一个开发工具。是用来开发java的工具包。有了这个东西就可以写java代码,编译java代码(javac),和打和读取jar包了。
1.1. 相关名词解释
- JDK(Java Development Kit) Java语言的软件开发工具包(SDK)。
- SE(J2SE),standard edition,标准版,是我们通常使用的版本,从JDK5.0 开始,改名为Java SE。(PS: 所以我们之后安装JDK的时候通常是安装的这个,Java SE,千万别下载错误了。)
- EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK5.0开始,改名为Java EE。
- ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java程序,从JDK5。0开始,改名为Java ME。
没有JDK的话,无法编译Java程序,如果只想运行Java程序,确保安装相对应的JRE即可。
1.2. JDK基本组件
JDK中基本的组件如下所示:
- javac: 编译器,将源程序转成字节码。(即.java文件编译为.class文件。)
- jar: 打包工具,将相关的类文件打包成一个文件。
- javadoc: 文档生成器,从源码注释中提取文档。
- jdb: debugger,查错工具。
- java: 运行遍以后的java程序(.class),个人理解这个就是JRE。
- appletviewer: 小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。(主要和Applet程序有关)
- javah: 产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- javap: Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
- jconsole: Java进行系统调试和监控的工具。
1.3. 常用的包
- java.lang: 这个是系统的基础类,比如String等都是这个里面的,这个包食为一一个不用引入(import)就可以使用的包。
- java.io: 这里面是所有输入输出有关的类,比如文件操作等等。(例如: InputStream/OutputStream等)
- java.nio: 为了完善IO包中的功能,提高IO包中性能而写的一个新包,例如NIO非阻塞应用。
- java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
- java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等等。
- java.sql: 这个是数据库操作的类,Connection,Statement,ResultSet等。
- javax.servlet: 这个是JSP,Servlet等使用到到类。
1.4. 安装和配置
此处暂不介绍,详情请参考…
2. JRE
JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。
JRE(Java Runtime Environment)(百度参考),中文名Java运行环境。
2.1. 组成部分
JRE有如下的组成部分:
- Java虚拟机(JVM)
- Java核心类库
- 支持文件
注意: - 它不包含开发工具(JDK)–编译器、调试器和其它工具。JRE需要辅助软件–Java Plug-in–以便在浏览器中运行applet。
- J2RE是Java2 Runtime Environment,即Java运行环境,只是强调其匹配Java2平台,有时简称JRE。如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK(JRE和JDK的区别)。在JDK中附带有JRE。注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK。
2.2. 版本管理
Java的解决办法是每个程序自己携带一套JRE。
当在控制台执行java.exe,操作系统寻找JRE的方式如下:
- 先找当前目录下有没有JRE
- 再找父目录下有没有JRE
- 接着在PATH路径中找JRE
一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面,所以肯定会运行自己带的JRE,不会造成版本混乱。
Windows
注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\ 查看CurrentVersion的键值指向哪个JRE
最常用的是在PATH路径中找JRE。
2.3. 图示
- 核心类库:
- JRE运行过程
- JDK和JRE组成