1.3 开发Java的准备
1.3.1 下载和安装Java9的JDK
JDK包含JRE JRE包含JVM
JDK
JDK
的全称是Java SE Development Kit
,即Java
标准版开发包,是Oracle
提供的一套用于开发Java
应用程序的开发包,它提供了编译、运行Java
程序所需的各种工具和资源,包括Java
编译器、Java
运行时环境,以及常用的Java
类库等。
JRE
Java
运行时环境,它的全称是Java Runtime Environment
,因此也被称为JRE
,它是运行Java
程序的必需条件。
JRE
包含JVM
。JVM
是运行Jaa
程序的核心虚拟机,而运行Java
程序不仅需要核心虚拟机,还需要其他的类加载器、字节码极验器以及大量的基础类库。JRE
除包含JVM
之外,还包含运行Java
程序的其他环境支持。
般而言,如果只是运行Java
程序,可以只安装JRE
,无须安装JDK
。
开发JDK 运行JRE
- 如果需要开发
Java
程序,则应该选择安装JDK
;当然,安装了JDK
之后,就包含了JRE
,也可以运行Java
程序。 - 如果只是运行
Java
程序,则需要在计算机上安装JRE
,仅安装JVM
是不够的。
实际上,Oracle
网站上提供的就是JRE
的下载,并不提供单独JVM
的下载。
Java SE
Java EE
和Java ME
Oracle
把Java
分为Java SE
、Java EE
和Java ME
三个部分,而且为Java SE
和Java EE
分别提供了JDK
和Java EE SDK
( Software Development Kit)
两个开发包。
如果读者只需要学习Java SE
的编程知识,则可以下载标准的JDK
;
如果读者学完Java SE
之后,还需要继续学习Java EE
相关内容,也可以选择下载Java EE SDK
。
Java EE SDK包含JDK
一个Java EE SDK
版本里已经包含了最新版的JDK
,安装Java EE SDK
就包含了JDK
。
下载JDK 安装JDK
省略…
JDK安装目录结构
安装完成后,可以在JDK
安装路径下看到如下的文件路径
bin
:该路径下存放了JDK
的各种工具命令,常用的javac
、java
等命令就放在该路径下conf
:该路径下存放了JDK
的相关配置文件。include
:存放一些平台特定的头文件。jmods
:该目录下存放了JDK
的各种模块legal
:该目录下包含了JDK
各模块的授权文档。lib
:该路径下存放的是JDK
工具的一些补充JAR
包。比如src.zip
文件中保存了Java
的源代码。README
和COPYRIGHT
等说明性文档。
模块化系统
模块化系统是JDK9
的重大更新,随着Java
语言的功能越来越强大,Java
语言也越来越庞大。很多时候,一个基于Java
的软件并不会用到Java
的全部功能,因此该软件也不需要加载全部的Java
功能,而模块化系统则允许发布Java
软件系统时根据需要只加载必要的模块。
为此,JDK
专门引入了一种新的JMOD
格式,它近似于JAR
格式,但JMOD
格式更强大,它可以包含本地代码和配置文件。该目录下包含了JDK
各种模块的JMOD
文件,比如使用WinRar
打开java.base.jmod
文件,将会看到如图1.4所示的文件结构
从图1.4可以看岀,java.base.jmod
是JDK
的最基础模块,该模块包含了Java
的lang
、util
、math
等模块,这些都是Java
最核心的功能,是其他所有模块的基础。
此外,上面提到的bin
路径是一个非常有用的路径,在这个路径下包含了编译和运行Java
程序的avac
和java
两个命令。除此之外,还包含了jlink
、jar
等大量工具命令。
1.3.2 设置PATH环境变量
前面已经介绍过了,编译和运行Java
程序必须经过两个步骤
- 将源文件编译成字节码。
- 解释执行平台无关的字节码程序。
上面这两个步骤分别需要使用java
和javac
两个命令。启动Windows
操作系统的命令行窗口(在开始”菜单里运行cmd
命令即可),在命令行窗口里依次输入java
和javac
命令,将看到如下输出:
1 | 'java'不是内部或外部命令,也不是可运行的程序或批处理文件。 |
这意味着还不能使用java
和javac
两个命令。这是因为:虽然已经在计算机里安装了JDK
,而JDK
的安装路径下也包含了java
和javac
两个命令,但计算机不知道到哪里去找这两个命令。
计算机根据PATH环境变量中的路径来查找命名
计算机如何查找命令呢?Windows
操作系统根据Path
环境变量来查找命令。Path
环境变量的值是一系列路径,Windows
操作系统将在这一系列的路径中依次查找命令,如果能找到这个命令,则该命令是可执行的;否则将出现:”xxx不是内部或外部命令,也不是可运行的程序或批处理文件”的提示。
而Linux
操作系统则根据PATH
环境变量米查找命令,PAIH
环境变量的值也是一系列路径。
因为Windows操作系统不区分大小写,设置Path
和PATH
并没有区别;而Linux系统是区分大小写的,设置Path
和PATH
是有区别的。
因此不管是Windows
还是Linux
,统一设置PATH
环境变量即可。
不管是Linux
平台还是Windows
平台,只需把java
和javac
两个命令所在的路径添加到PATH
环境变量中,就可以编译和运行java
程序了。
1. 在Windows7等平台上设置环境变量
省略…
2. 在Linux上设置环境变量
省略…..