提交 a2d405ab 编写于 作者: W wizardforcel

2021-08-02 22:55:53

上级 84eef8bc
......@@ -7,9 +7,9 @@
我们将在本章介绍的具体主题如下:
* 变量处理器
* 导入报表废弃警告
* 投币计划
* 导入报表处理
* `import`语句废弃警告
* Coin 项目
* `import`语句处理
* 推断局部变量
* 线程本地握手
* 备用内存设备上的堆分配
......@@ -62,8 +62,8 @@ class Sample {
具体地说,是执行以下操作的方法:
* 访问/变异对象字段
* 数组的已访问/已变异元素
* 访问/修改对象字段
* 数组的已访问/已修改元素
此外,这种变化导致了内存排序和对象可达性的两种栅栏操作。本着尽职尽责的精神,特别注意确保 JVM 的安全。确保这些更改不会导致内存错误非常重要。数据完整性、可用性,当然还有性能是上述尽职调查的关键组成部分,解释如下:
......@@ -79,7 +79,7 @@ class Sample {
# 使用原子工具包
`java.util.concurrent.atomic`包是 12 个子类的集合,它们支持对线程安全和无锁的单个变量的操作。在此上下文中,线程安全是指访问或变异共享单个变量而不妨碍其他线程同时对该变量执行的代码。这个超类是在 Java7 中引入的。
`java.util.concurrent.atomic`包是 12 个子类的集合,它们支持对线程安全和无锁的单个变量的操作。在此上下文中,线程安全是指访问或修改共享单个变量而不妨碍其他线程同时对该变量执行的代码。这个超类是在 Java7 中引入的。
下面是原子工具箱中 12 个子类的列表。如您所料,类名是自描述性的:
......@@ -166,19 +166,19 @@ Java9 略微减少了我们收到的警告数量。特别是,不再生成由
* 如果使用`@Deprecated`注释
* 如果使用`@SuppressWarnings`注释
* 如果警告生成代码和声明的使用在祖先类中
* 如果警告生成代码的使用在`import`语句中
* 如果警告生成代码和声明在祖先类中使用
* 如果警告生成代码`import`语句中使用
# Coin 项目
Coin 项目是 Java7 中引入的一组小改动的特性集。这些变化如下:
* `switch`语句中的字符串
* 二进制积分文字
* 二进制整数字面值
* 在数字文本中使用下划线
* 实现多重捕获
* 允许更精确地重新触发异常
* 通用实例创建改进
* 泛型实例创建的改进
* 带资源的`try`语句的添加
* 调用`varargs`方法的改进
......@@ -207,7 +207,7 @@ static void methodName(...) {
`@SafeVarargs`注释的使用仅限于以下内容:
* 静态方法
* 终审方法
* 最终方法
* 私有实例方法
# 带资源的`try`语句
......@@ -477,7 +477,7 @@ public interface Inner {
1. 分析导入语句
2. 创建层次结构(类和接口)
3. 分析类标题和类型参数
3. 分析类头部和类型参数
# 推断局部变量
......@@ -498,7 +498,7 @@ var myList = new ArrayList<String>();
使用`new`标识符有一些限制。例如,当存在以下任何一种情况时,不能使用它们:
* 未使用初始化器
* 正在声明多个变量
* 声明多个变量
* 使用数组维度括号
* 使用对初始化变量的引用
......@@ -541,23 +541,23 @@ XX:AllocateHeapAt=<file system path>
从 Java10 开始,根证书中包括以下经 Oracle 验证的 CA:
* Actalis S.p.A.公司。
* Buypass 组件
* 卡梅菲玛
* Certum 公司
* 中华电信股份有限公司。
* 科莫多有限公司。
* Digicert 公司。
* 文档签名
* D-TRUST 股份有限公司
* 识别
* 让我们加密
* 卢克斯托拉斯
* QuoVadis 有限公司。
* Secom 信托系统
* 瑞士银行
* 特利亚
* 信任波
* Actalis S.p.A.
* Buypass AS
* Camerfirma
* Certum
* Chunghwa Telecom Co., Ltd.
* Comodo CA Ltd.
* Digicert Inc
* DocuSign
* D-TRUST GmbH
* IdenTrust
* Let's Encrypt
* LuxTrust
* QuoVadis Ltd
* Secom Trust Systems
* SwissSign AG
* Tella
* Trustwave
很可能在 Java 平台的每个后续版本中都会添加额外的 ca
......@@ -594,10 +594,10 @@ XX:AllocateHeapAt=<file system path>
# 问题
1. 什么是围栏作业
2. 什么是硬币计划?
1. 什么是栅栏操作
2. 什么是 Coin 计划?
3. `@SafeVarargs`可以与什么类型的方法一起使用?
4. 进口报表处理的变化有什么意义?
4. `import`语句处理的变化有什么意义?
5. Java 在哪里存储根证书?
6. `var`不是关键字。这是怎么一回事?
7. `var`是用来做什么的?
......
......@@ -6,7 +6,7 @@
我们将研究以下主题:
* 模块化底漆
* 模块化入门
* 模块化 JDK
* 模块化运行时映像
* 模块系统
......@@ -57,8 +57,8 @@ Java 向模块化系统的转变是必要的,原因有几个。以下是 Java9
模块概念最初是在 Java9 中引入的;它是一个命名的数据和代码集合。具体而言,Java 模块是以下内容的集合:
*
* 班级
*
*
* 接口
* 代码
* 数据
......@@ -81,7 +81,7 @@ JEP-200 的核心目标是使用 **Java 平台模块系统**(**JPMS**)对 JD
* JRE
* 解释器(Java)
* 编译器(Javac)
* 档案员(罐子
* 归档器(Jar
* 文档生成器(Javadoc)
模块化 JDK 的任务是将其分解为可在编译时或运行时组合的组件。模块化结构基于以下在 Java8 中作为紧凑概要文件建立的模块概要文件。下表详细介绍了这三种配置文件:
......@@ -398,7 +398,7 @@ JEP-220 的最终目标是确保现有的课程不会受到负面影响。这是
* 编译模块路径
* 升级模块路径
* 系统模块
* 系统模块路径
* 应用模块路径
让我们简要回顾一下这些路径。编译模块路径仅在编译时适用,并且包含模块定义。升级模块路径具有已编译的模块定义。系统模块是内置的,包括 JavaSE 和 JDK 模块。最后一个路径,即应用模块路径,包含来自应用模块和库模块的已编译模块定义。
......
......@@ -26,7 +26,7 @@
Jigsaw 项目是一个 Java 项目,它包含了对 Java 平台的几个更改建议。正如您在前面几章中所读到的,Java9 中对 Java 平台最重要的更改涉及到模块和模块化。转移到 Java 模块的计划是由 Jigsaw 项目推动的。对模块化的需求源于 Java 的两大挑战:
* 类路径
* JDK 公司
* JDK 的整体性
接下来,我们将回顾这两个挑战,并了解如何使用当前的 Java 平台解决和克服它们。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册