1. JDK和JRE的作用
JDK(Java Development Kit)是Java开发工具包,是Java应用程序开发的必备工具。JRE(Java Runtime Environment)是Java运行环境,是用户运行Java程序所必需的。JDK中包含了JRE,同时还包含了编译Java源代码的工具和Java API等开发工具。
Java是一门跨平台的高级编程语言,因此,Java代码可以在多个操作系统平台上运行。Java的跨平台性依赖于JRE提供的运行时环境,因此,用户在运行Java程序时,需要安装与自己所在操作系统相匹配的JRE。
2. JDK和JRE目录结构的变化
Java 9版本中,随着Java平台模块化系统(JPMS)的引入,JDK和JRE目录结构发生了一些变化。下面,我们将逐一介绍这些变化。
2.1 JDK目录结构变化
Java 9中,JDK目录结构变化不大,主要是在lib目录下新增了一些子目录,其中比较重要的是modure目录,该目录用于存放JDK平台模块化系统所需的JAR包文件。
├── bin
├── include
├── jmods
├── legal
├── lib
│ ├── jspawnhelper
│ ├── modure
│ ├── security
│ ├── ...
2.2 JRE目录结构变化
Java 9中,JRE目录结构发生比较大的变化,主要是由于模块化系统的引入所导致的。下面是Java 9中JRE目录结构示意图:
├── bin
├── conf
├── legal
├── lib
│ ├── jli
│ ├── modules
│ └── ...
└── plugin
我们可以看到,JRE目录下新增了一个modules目录,这个目录用于存放JRE平台模块化系统所需的JAR包文件。同时,以前位于JRE目录下的plugin目录被移到了JDK目录下(具体路径是:JDK安装目录/lib/plugin),这个目录用于存放浏览器中的Java插件。
3. JPMS的作用
Java平台模块化系统(JPMS)是Java 9引入的新特性之一,它通过将代码组织为独立的模块,来提供一种更加严谨和可靠的模块化方式。
JDK 9增强了类库的模块化,将类库划分为多个独立的模块,避免了类库之间的冲突。同时,模块化还增强了代码的封装性和安全性,通过为模块提供严格的访问控制机制,使得Java应用程序更加安全和可靠。
4. 总结
Java 9中,JDK和JRE的目录结构发生了一些变化,主要是由于Java平台模块化系统的引入所导致的。新增的modure和modules目录分别用于存放JDK和JRE平台模块化系统所需的JAR包文件,并且以前的plugin目录被移到了JDK目录下。Java平台模块化系统(JPMS)的引入,提高了Java应用程序的安全性和可靠性,同时也解决了类库之间的冲突问题。