Skip to content

Gh pages 1.0 #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 23, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* [前言](Preface.md)
* [第一部分:泛型](ch01/00_Introduction.md)
* [第一章(简介)](ch01/00_Introduction.md#第一章(简介))
* [1.1 泛型](ch01/01_Generics.md#泛型)
* [1.1 泛型](ch01/01_Generics.md#泛型)
* [1.2 装箱与拆箱](ch01/02_Boxing_and_Unboxing.md#装箱与拆箱)
* [1.3 循环](ch01/03_Foreach.md#循环)
* [1.4 泛型方法和可变参数](ch01/04_Generic_Methods_and_Varargs.md#泛型方法和可变参数)
Expand All @@ -38,7 +38,7 @@
* [3.6 多重界限](ch03/06_Multiple_Bounds.md)
* [3.7 桥梁](ch03/07_Bridges.md)
* [3.8 协变覆盖](ch03/08_Covariant_Overriding.md)
* [第四章(声明)](ch04/00_Declarations.md)
* [第四章(声明)](ch04/00_Declarations.md)
* [4.1 构造函数](ch04/01_Constructors.md)
* [4.2 静态成员](ch04/02_Static_Members.md)
* [4.3 嵌套类](ch04/03_Nested_Classes.md)
Expand All @@ -49,6 +49,17 @@
* [5.3 具有传统客户端的通用库](ch05/03_Generic_Library_with_Legacy_Client.md)
* [5.4 具有通用客户端的旧版库](ch05/04_Legacy_Library_with_Generic_Client.md)
* [5.5 结论](ch05/05_Conclusions.md)
* [第六章(具体化)](ch06/00_Reification.md)
* [6.1 可定义类型](ch06/01_Reifiable_Types.md)
* [6.2 实例测试和示例](ch06/02_Instance_Tests_and_Casts.md)
* [6.3 异常处理](ch06/03_Exception_Handling.md)
* [6.4 数组创建](ch06/04_Array_Creation.md)
* [6.5 广告中的真理原则](ch06/05_The_Principle_of_Truth_in_Advertising.md)
* [6.6 不雅暴露的原则](ch06/06_The_Principle_of_Indecent_Exposure.md)
* [6.7 如何定义 ArrayList](ch06/07_How_to_Define_ArrayList.md)
* [6.8 数组创建和可变参数](ch06/08_Array_Creation_and_Varargs.md)
* [6.9 作为已弃用类型的阵列](ch06/09_Arrays_as_a_Deprecated_Type.md)
* [6.10 加起来](ch06/10_Summing_Up.md)

## PR
提交 PR 前请先确认排版,示例: [中文文案排版](https://github.com/maskleo-doc/chinese-copywriting-guidelines)
Expand Down
2 changes: 1 addition & 1 deletion ch06/01_Reifiable_Types.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](00_Reification.md)

## 可定义类型
### 可定义类型

在 `Java` 中,数组的类型是用其组件类型来表示的,而参数化类型的类型是在没有其类型参数的情况下被指定的。 例如,一个数组的数组将带有指定类型
`Number []`,而一个数字列表将带有指定类型 `ArrayList`,而不是 `ArrayList<Number>`; 原始类型,而不是参数化类型被通用化。 当然,列表中的每个元素都会附
Expand Down
2 changes: 1 addition & 1 deletion ch06/02_Instance_Tests_and_Casts.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](01_Reifiable_Types.md)

## 实例测试和示例
### 实例测试和示例

实例测试和示例取决于运行时检查的类型,因此取决于具体化。 因此,针对不可修饰类型的实例测试会报告错误,并且对不可修饰类型进行强制转换通常会发出警告。

Expand Down
2 changes: 1 addition & 1 deletion ch06/03_Exception_Handling.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](02_Instance_Tests_and_Casts.md)

## 异常处理
### 异常处理

在 `try` 语句中,每个 `catch` 子句检查抛出的异常是否与给定的类型匹配。 这与实例测试执行的检查相同,因此也适用相同的限制:该类型必须是可验证的。 此
外,`catch` 子句中的类型必须是 `Throwable` 的子类。 由于创建不能出现在 `catch` 子句中的 `Throwable` 的子类没什么意义,因此如果您尝试创建
Expand Down
2 changes: 1 addition & 1 deletion ch06/04_Array_Creation.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](03_Exception_Handling.md)

## 数组创建
### 数组创建

数组通过它们的组件类型来进行通用化,这意味着它们携带有关组件类型的运行时信息。 此实体类型信息用于实例测试和强制转换,还用于检查是否允许分配到数组组
件。
Expand Down
2 changes: 1 addition & 1 deletion ch06/05_The_Principle_of_Truth_in_Advertising.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](04_Array_Creation.md)

## 广告中的真理原则
### 广告中的真理原则

在前面的章节中我们看到,将集合转换为数组的简单方法将不起作用。 我们可能会尝试的第一个解决方案是添加一个未经检查的演员表,但我们很快会看到,这导致更令
人困惑的问题。 正确的解决方案需要我们去反思。 由于将任何泛型结构转换为数组时都会出现相同的问题,因此值得了解这些问题及其解决方案。 我们将研究上一节中
Expand Down
2 changes: 1 addition & 1 deletion ch06/06_The_Principle_of_Indecent_Exposure.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](05_The_Principle_of_Truth_in_Advertising.md)

## 不雅暴露的原则
### 不雅暴露的原则

尽管创建一个不可赋予的组件类型的数组是错误的,但可以声明一个具有这种类型的数组,并对此类型执行未经检查的转换。 必须谨慎使用这些功能,如果使用不当,有
必要了解可能出现的问题。 特别是,一个库不应公开公开一个具有不可确定类型的数组。
Expand Down
2 changes: 1 addition & 1 deletion ch06/07_How_to_Define_ArrayList.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](06_The_Principle_of_Indecent_Exposure.md)

## 如何定义 ArrayList
### 如何定义 ArrayList

我们在其他地方争辩说,通常最好使用列表而不是使用数组。有一些地方这不合适。在极少数情况下,出于效率或兼容性的原因,您将需要使用数组。另外,当然,你需要使
用数组来实现 `ArrayList` 本身。在这里,我们将 `ArrayList` 的实现作为一种模型,在极少情况下需要使用数组。这些实现需要谨慎编写,因为它们必然涉及使用未经
Expand Down
2 changes: 1 addition & 1 deletion ch06/08_Array_Creation_and_Varargs.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](07_How_to_Define_ArrayList.md)

## 数组创建和可变参数
### 数组创建和可变参数

方便的变量表示法允许方法接受可变数量的参数并将它们打包到数组中,如 `1.4` 节所述。 这种表示法并不像你想要的那样方便,因为它创建的数组受到与其他数组相
同的涉及到物化的问题的困扰。
Expand Down
2 changes: 1 addition & 1 deletion ch06/09_Arrays_as_a_Deprecated_Type.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](08_Array_Creation_and_Varargs.md)

## 作为已弃用类型的阵列?
### 作为已弃用类型的阵列

我们已经看到,在许多方面集合优于数组:

Expand Down
2 changes: 1 addition & 1 deletion ch06/10_Summing_Up.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](09_Arrays_as_a_Deprecated_Type.md)

## 加起来
### 加起来

我们通过给出需要或推荐可评估类型的地方的清单来得出结论。

Expand Down
2 changes: 1 addition & 1 deletion ch14/00_Queues.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](../ch13/02_SortedSet_and_NavigableSet.md)

# Queues
## Queues

队列是一个集合,用于保存要处理的元素,并按照它们要处理的顺序生成它们。相应的集合框架接口队列(参见图 `14-1`)有许多不同的实现,它们体现了关于这个顺序应该是什么的不同规则。许多实现使用的规则是按照提交顺序处理任务(先进先出或 `FIFO`),但也可以使用其他规则 - 例如,集合框架包括处理顺序为基于任务优先级。`Queue` 接口是在 `Java 5` 中引入的,部分原因是该版本中包含的并发实用程序中需要队列。看一下图 `14-2` 所示的实现层次结构,事实上,集合框架中几乎所有的 `Queue` 实现都在 `java.util.concurrent` 包中。

Expand Down
2 changes: 1 addition & 1 deletion ch14/01_Using_the_Methods_of_Queue.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
《《《 [返回首页](../README.md) <br/>
《《《 [上一节](00_Queues.md)

## 使用队列方法
### 使用队列方法

我们来看看使用这些方法的例子。 队列应该提供一个实现任务管理器的好方法,因为它们的主要目的是生成要处理的元素,比如任务。 目前我们将使用 `ArrayDeque` 作为队列中最快和最直接的实现(当然也是 `Deque`)。 但是,像以前一样,我们只限于接口的方法 - 尽管您应该注意到,在选择队列实现时,您也正在选择一种排序。使用 `ArrayDeque`,您可以获得 `FIFO` 订购 - 当然,我们尝试使用花哨的调度方法进行组织,似乎无法很好地工作; 也许是时候尝试一些简单的事情了。

Expand Down