提交 6752b85c 编写于 作者: W wizardforcel

2021-04-22 23:41:56

上级 67255505
......@@ -44,7 +44,7 @@ Java 向模块化系统的转变是必要的,原因有几个。以下是 Java
* **Java 开发工具包****JDK**)实在太大了。这使得很难支持小型设备。即使在下一节讨论的紧凑配置文件中,支持一些小型设备充其量也是困难的,在某些情况下是不可能的
* 由于 JDK 过大,我们的 Java 应用程序很难支持真正优化的性能。在这种情况下,越小越好
* **Java 运行时环境****JRE**)太大,无法有效地测试和维护我们的 Java 应用程序。这将导致耗时、低效的测试和维护操作
* **Java 存档****JAR**文件也太大。这使得支持小型设备成了问题
* **Java 存档****JAR**文件也太大。这使得支持小型设备成了问题
* 由于 JDK 和 JRE 都是包罗万象的,所以安全性非常令人担忧,例如,Java 应用程序未使用的内部 API,由于公共访问修饰符的性质,仍然可用
* 最后,我们的 Java 应用程序太大了。
......@@ -86,7 +86,7 @@ JEP-200 的核心目标是使用**Java 平台模块系统**(**JPMS**)对 JDK
模块化 JDK 的任务是将其分解为可在编译时或运行时组合的组件。模块化结构基于以下在 Java8 中作为紧凑概要文件建立的模块概要文件。下表详细介绍了这三种配置文件:
* **紧凑型剖面 1**
* **紧凑配置文件 1**
| `java.io` | `java.lang.annotation` | `java.lang.invoke` |
| `java.lang.ref` | `java.lang.reflect` | `java.math` |
......@@ -106,7 +106,7 @@ JEP-200 的核心目标是使用**Java 平台模块系统**(**JPMS**)对 JDK
| `javax.security.auth.login` | `javax.security.auth.spi` | `javax.security.auth.spi` |
| `javax.security.auth.x500` | `javax.security.cert` | |
* **紧凑型剖面 2**
* **紧凑配置文件 2**
| `java.rmi` | `java.rmi.activation` | `java.rmi.drc` |
| `java.rmi.registry` | `java.rmi.server` | `java.sql` |
......@@ -120,7 +120,7 @@ JEP-200 的核心目标是使用**Java 平台模块系统**(**JPMS**)对 JDK
| `org.w3c.dom.ls` | `org.xml.sax` | `org.xml.sax.ext` |
| `org.xml.sax.helpers` | | |
* **紧凑型剖面 3**
* **紧凑配置文件 3**
| `java.lang.instrument` | `java.lang.management` | `java.security.acl` |
| `java.util.prefs` | `javax.annotation.processing` | `javax.lang.model` |
......@@ -139,7 +139,7 @@ JEP-200 的核心目标是使用**Java 平台模块系统**(**JPMS**)对 JDK
* 所有 JCP 管理的模块都必须以字符串`java`开头。因此,如果正在开发一个关于空间实用程序的模块,它的名称应该是`java.spatial.util`
**JCP** refers to the **Java Community Process**. JCP allows developers to create technical specifications for Java. You can learn more about JCP and become a member at the official JCP website at [https://www.jcp.org/en/home/index](https://www.jcp.org/en/home/index).
**JCP** 是指 **Java 社区流程**。 JCP 允许开发人员为 Java 创建技术规范。 您可以在 [JCP 官方网站](https://www.jcp.org/en/home/index)上了解有关 JCP 的更多信息并成为会员 
* 非 JCP 模块被认为是 JDK 的一部分,它们的名称必须以字符串`jdk`开头。
* 确保方法调用链接正常工作。下面的流程图最好地说明了这一点:
......@@ -213,7 +213,7 @@ JDK 是代码文件、工具、库等的汇编。下图概述了 JDK 组件:
# RMI 公司
**RMI**工具是**远程方法调用**工具。它们帮助开发人员创建通过网络运行的应用程序,包括互联网:
**RMI** 工具是**远程方法调用**工具。它们帮助开发人员创建通过网络运行的应用程序,包括互联网:
* `rmic`:该工具可以为网络上的对象生成存根和骨架
* `rmiregistry`:这是一个远程对象的注册服务
......@@ -240,7 +240,7 @@ JDK 是代码文件、工具、库等的汇编。下图概述了 JDK 组件:
# Web 服务
这组工具提供了一个实用工具,可与**Java Web Start**和其他 Web 服务一起使用:
这组工具提供了一个实用工具,可与 **Java Web Start** 和其他 Web 服务一起使用:
* `javaws`:这是一个启动 JavaWebStart 的命令行工具。
* `schemagen`:该工具为 Java 架构生成模式。这些模式用于 XML 绑定。
......@@ -330,7 +330,7 @@ Java9 中引入的 Java 模块化系统需要更改运行时映像以实现兼
这些更改的核心是用于资源命名的新 URI 模式。这些资源包括模块和类。
**统一资源标识符****URI****与**URL**(**统一资源定位器**)相似,它标识某物的名称和位置。对于 URL,某物是网页;对于 URI,它是资源。**
**统一资源标识符****URI**)与**统一资源定位器****URL**)相似,它标识某物的名称和位置。对于 URL,某物是网页;对于 URI,它是资源。
**JEP-220 有五个主要目标,这些目标将在下面的章节中详细介绍。
......@@ -340,7 +340,7 @@ Java9 中引入的 Java 模块化系统需要更改运行时映像以实现兼
* 当新的运行时格式比 java9jar 之前的格式具有更高的效率(时间和空间)时。
**JAR**文件是**Java 归档**文件。这是一种基于传统 ZIP 格式的压缩文件格式。
**JAR** 文件是 **Java 归档**文件。这是一种基于传统 ZIP 格式的压缩文件格式。
* 当存储的类和其他资源可以单独隔离和加载时。
* 当 JDK 和库类和资源可以存储时。这也包括应用程序模块。
......@@ -434,7 +434,7 @@ module com.three19.irisScan
# 模块化 Java 应用程序打包
Java9 以及 Java10 和 Java11 的最大改进之一是由**Java 打包程序**生成的运行时二进制文件的大小。这在一定程度上是由于**Java 链接器**的缘故,这将在下一节中介绍。在当前的 Java11 中,JavaPackager 的工作流程基本上与 Java8 中的相同。您将在本节后面看到,工作流中添加了新工具。
Java9 以及 Java10 和 Java11 的最大改进之一是由 **Java 打包程序**生成的运行时二进制文件的大小。这在一定程度上是由于 **Java 链接器**的缘故,这将在下一节中介绍。在当前的 Java11 中,JavaPackager 的工作流程基本上与 Java8 中的相同。您将在本节后面看到,工作流中添加了新工具。
Java 打包程序只创建 JDK 应用程序。对 Java Packager 的这一更改旨在简化并提高生成运行时映像的过程的效率。因此,Java Packager 将只为与其关联的 SDK 版本创建运行时映像。
......@@ -552,5 +552,5 @@ JEP-260 的实现使 Java 平台更加安全。JEP 的核心目标是封装大
此处列出的参考资料将帮助您深入了解本章中介绍的概念:
* *学习 Java 9–模块化编程**可在*[获得 https://www.packtpub.com/application-development/learning-java-9-–-模块化编程视频](https://www.packtpub.com/application-development/learning-java-9-%E2%80%93-modular-programming-video)**
*** *使用 Java 9 学习 JShell–逐步*,可在*[获得 https://www.packtpub.com/application-development/learn-jshell-java-9-step-step-video](https://www.packtpub.com/application-development/learn-jshell-java-9-step-step-video)。*****
\ No newline at end of file
* [《学习 Java 9——模块化编程》](https://www.packtpub.com/application-development/learning-java-9-%E2%80%93-modular-programming-video)
* [《使用 Java 9 逐步学习 JShell》](https://www.packtpub.com/application-development/learn-jshell-java-9-step-step-video)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册