一. Java 简介
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今,Java 仍是企业和开发人员的首选开发平台,全球有数百万开发人员运行超过 51 亿台 Java 虚拟机。
1. JVM
- 它是 Java Virtual Machine 也就是 Java 虚拟机的缩写,它的职责是解释执行Java代码。我们写好的 Java 代码,并不能被直接运行,而是需要交给 JVM 来解释执行
- 很多公司都提供了 JVM 实现,最为知名的是 Oracle 提供的 JVM 实现
2. JRE
- JRE呢,是 Java runtime environment 的缩写,含义是 Java 的运行环境。Java 代码编写好了以后,不仅是需要 JVM 对它来进行解释,而且也需要一些基础功能的配合,这些基础功能呢,称之为核心类库(Core libraries),JVM 和核心类库加在一起,就构成了 JRE 这个运行环境
3. JDK
- JDK是 Java development kit 的缩写,含义是 Java 的开发环境。如果你不仅仅要运行 Java 程序,还想开发新的 Java 程序,那还需要借助一些开发工具,JRE 跟开发工具合在一起,就构成了JDK
通过刚才的讲解,我们了解到 JVM、JRE、JDK 之间是一个包含的关系:
- JDK 功能最全,包含了 JRE 和开发工具
- 其次是 JRE,包含了 JVM + 核心类库
- 最后是 JVM,负责解释执行我们的 Java 代码
因此,对于后面的学习,我们只需要下载安装 JDK 就可以进行 Java 开发了
从 Java 11 这个版本开始,不再单独提供 JRE
- In this release, the JRE or Server JRE is no longer offered. Only the JDK is offered. Users can use
jlink
to create smaller custom runtimes.
二. 安装 JDK
1. 下载和安装
这里介绍 Windows 10 平台下 Oracle 的 JDK 安装
入口在哪儿?访问 oracle 官网 Oracle | Cloud Applications and Cloud Platform
点击 Java 后进入下面的页面
下载页面让我们选择版本,这里选择 Java 17,因为它是长期支持版(LTS)
- 18 虽然看着新,但实际上到 2022.9 就会被 19 取代
- 而 17 的支持会到 2024 年
接下来选择平台,这里选择 Windows,其它平台下 JDK 的安装,请关注我们后续的视频
Windows 有三个版本,第一个是解压版,后两个是安装版。初学者我建议下载解压版(有助于理解 java 程序的查找过程)
下载完毕后,解压到一个没有中文和空格的目录即可
2. 配置 Path
你可以选择一个喜欢的目录,我的解压目录是 d 盘根目录下,如图所示
- 其中 bin 目录下包含的就是它所带的一些开发和运行工具
- 像 Javac.exe 还有 Java.exe 都是较为重要的,后面都会用到
验证安装是否成功:按快捷键 Win + r
,输入命令提示符程序名称 cmd
出现命令提示符窗口,输入 java -version
C:\Users\Lenovo>java
'java' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
这是因为 cmd 程序并不知道 java 的安装位置,因此没有找到它
-
可以输入它的全路径来找到它
- 比如,我的 java 解压到了 D:\jdk-17.0.3.1 这个目录,这时全路径就是 D:\jdk-17.0.3.1\bin\java
- 但显然这么做比较麻烦
-
更好的方式是配置 Path【环境变量】
按快捷键 win
搜索【此电脑】,出现下面的界面
点击【属性】,找到【高级系统设置】
按下图箭头顺序找到新建,把刚才 jdk 的解压目录 + bin 补充填入,我这里是 D:\jdk-17.0.3.1\bin,全部确定。
Path 环境变量的作用:
- Path 环境变量中记录的是程序执行时的搜索路径
- cmd 执行一个程序时,即使未给出完整路径,也会在 Path 环境变量列出的目录下依次查找该程序
- 找到了,则执行
- 都找不到,才报错
- 因此对刚才的问题,只需将 java 程序的所在目录补充进 Path 环境变量
环境变量改动后,原有的 cmd 窗口是不受影响的,要想生效必须打开一个新的 cmd 窗口,输入 java -version
,如果出现类似于下面的输出,表示成功
C:\Users\Lenovo>java -version
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)