目录

Java | Java 版本、jdk 和 jre 区别及安装、命令行

1. Java 历史和版本

1998 年 12 月 Java 1.2 发布仅 3 天之后,Sun 将 Java 1.2 改名为 “Java 2 标准版软件开发包 1.2 版”。因此 Java 有三种版本:一是标准版(Standard Edition),用于桌面或简单服务器应用的 Java 平台;二是用于手机等嵌入式设备的微型版(Micro Edition),用于小型设备的 Java 平台;三是用于服务端处理的企业版(Enterprise Edition)。而此时的 Java 平台又叫做 Java 2,这个 Java 2 一直沿用到 5.0。

2006 年版本号得到了简化。Java 标准版的下一个版本取名为 Java SE 6。后来又有 Java SE 7 和 Java SE 8。但是,“内部”版本号却分别是 1.6.0、1.7.0、1.8.0。

到了 Java SE 9,这种混乱终于终结,版本号变为 9,以后后来的 9.0.1。

https://img.dawnguo.cn/Java/image-20200604094323433.png

有时候大家说 Java 1.8,其实说的就是 Java 8,只是这种说法不太官方,但是这两个指代的都是同一个,并且都是指 Java SE 8。

2. Java 安装

2.1. JDK 和 JRE 的区别

首先我们来讲一下 JDK 、JRE 和 JVM 的简单区别:

https://img.dawnguo.cn/Java/20171221220833133

  • JVM(java virtual machine) 就是我们常说的 java 虚拟机,它是整个 java 实现跨平台的最核心的部分,所有的 java程序会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行,也就是说 class 并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
  • JRE(java runtime environment) 只是 Java 程序的运行环境,它最核心的内容就是 JVM(Java虚拟机)及核心类库。
  • JDK( java development kit) 是 Java 的开发工具,它不仅提供了 Java 程序运行所需的 JRE,还提供了一系列的编译,运行等工具,如 javac,java,javaw 等。

2.2. 安装

一般情况下我们都是安装 JDK,毕竟我们程序员是要搞开发的。当然也有情况是安装 JRE 的,这两个都可以在 oracle 的网站 上下载到。

在 JDK 的安装目录目录下面有六个文件夹:一个 src 类库源码压缩包和其他几个声明文件;bin、include、lib、 jre 等几个目录是真正在运行 java 时起作用的。bin:最主要的是编译器 (javac.exe) ;include:java 和 JVM 交互用的头文件;lib:类库;jre:java运行环境(注意:这里的 bin、lib 文件夹和 jre 里的 bin、lib 是不同的)。

另外,假如你在 windows 下安装 JDK 的话, windows 下会有两套 JRE,一套是安装目录的 jre(jre1.8.0_241),另一套在 jdk1.8.0_241 中(jdk1.8.0_241\jre) ,也就说会有两个 JVM。

https://img.dawnguo.cn/Java/image-20200602003529467.png

那么这两套有啥区别呢?安装目录下的那套 jre 相当于独立出来的运行环境,也就是说当你只运行 java 程序的时候,会用到那套;而 jdk 中的那套 jre 是 jdk 中的一些工具在使用时用到的。个人理解就是,这一套 jre 更多是咱调试开发的时候会用到的。

但是,假如你在 windows 下只安装 JRE 的话,windows 下只会有一套 jre。

再者,eclipse、idea 等其他 IDE 有自己的编译器而不是用 JDK bin 目录中自带的,所以在安装时你会发现他们只要求你选中 jre 路径就 ok 了。

可以你还会听到 OpenJDK,OpenJDK 这是 Java SE 的一个免费开源实现。而 Oracle JDK 则是 Oracle 公司开发的。Oracle 从 Java 9 开始不再开发 32 位版本的,想要使用 Oracle JDK 你需要有一个 64 位的操作系统。

在 windows 上安装 JDK 的时候,安装路径最好不要包含空格。

2.3. 设置

  • PATH 的设置—可执行路径的添加,可执行路径是操作系统查找可执行文件时要遍历的目录列表

    Windows 下将 JDK 安装目录下的 bin 目录路径添加到 Windows 的环境变量 PATH 下面(最好添加到用户环境变量中,而不是系统环境变量中)。

    Linux 下需要将 bin 目录路径添加到 ~/.bashrc 或者 ~/.bash_profile 中,使用 export PATH=jdk/bin:$PATH

    检测是否配置成功使用,javac --version,如果显示相应的版本号则是配置成功。

  • CLASSPATH 的设置—最好不要设置系统的 CLASSPATH 环境变量

    . (当前目录)添加进去;

    jdk 安装目录的 lib 子目录添加进去、lib\tools.jar 也添加进去

  • Java_Home 的设置(可选)

    jdk 安装目录添加进去。

2.4. 其他安装

  • 安装库源文件

    类库源文件在 JDK 中以压缩包文件 src.zip 的形式发布,将其解压缩之后即可访问源代码。src.zip 中包含了所有公共类库的源码,想要获取更多的源码,如编译器、虚拟机等,可以访问 http://openjdk.java.net

  • 文档

    文档包含在一个独立于 JDK 的压缩文件中,从 Oracle 网站上能找到。

3. 命令工具使用

javac 是编译器,将 java 文件编译成 class 文件(字节码文件);

java 是启动 Java 虚拟机,虚拟机执行编译器编译到类文件中的字节码;

4. 巨人的肩膀

  1. 《Java 核心技术卷1-原书第11版》