File tree 3 files changed +6
-8
lines changed
3 files changed +6
-8
lines changed Original file line number Diff line number Diff line change 9
9
## 书籍简介
10
10
11
11
* 本书原作者为 [ 美] Bruce Eckel,即《Java 编程思想》的作者。
12
- * 本书是事实上的 《Java 编程思想》第五版。
13
- * 《Java 编程思想》第四版基于 JAVA ** 5** 版本;《On Java 8》 基于 JAVA ** 8** 版本。
14
12
15
13
16
14
## 翻译说明
17
15
18
16
1 . 本书排版布局和翻译风格上参考了** 阮一峰** 老师的 [ 中文技术文档的写作规范] ( https://github.com/ruanyf/document-style-guide )
19
17
2 . 采用第一人称叙述。
20
18
3 . 由于中英行文差异,完全的逐字逐句翻译会很冗余啰嗦。所以本人在翻译过程中,去除了部分主题无关内容、重复描写。
21
- 4 . 译者在翻译中同时参考了谷歌、百度、有道翻译的译文以及《Java编程思想》第四版中文版的部分内容(对其翻译死板,生造名词,语言精炼度差问题进行规避和改正) 。最后结合译者自己的理解进行本地化,尽量做到专业和言简意赅,方便大家更好的理解学习。
19
+ 4 . 译者在翻译中同时参考了谷歌、百度、有道翻译的译文 。最后结合译者自己的理解进行本地化,尽量做到专业和言简意赅,方便大家更好的理解学习。
22
20
5 . 由于译者个人能力、时间有限,如有翻译错误和笔误的地方,还请大家批评指正!
23
21
24
22
## 如何参与
Original file line number Diff line number Diff line change 2
2
3
3
# On Java 8
4
4
5
- - 《On Java 8》中文版,是事实上的《Java 编程思想》第5版 。
5
+ - 《On Java 8》中文版。
6
6
7
7
8
8
[ ![ stars] ( https://badgen.net/github/stars/lingcoder/OnJava8?icon=github&color=4ab8a1 )] ( https://github.com/lingcoder/OnJava8 ) [ ![ forks] ( https://badgen.net/github/forks/lingcoder/OnJava8?icon=github&color=4ab8a1 )] ( https://github.com/lingcoder/OnJava8 )
Original file line number Diff line number Diff line change @@ -65,13 +65,13 @@ slowdown occurs):
65
65
- ** 并行-并发** :使用并行编程技术编写,如果只有一个处理器,结果程序仍然可以运行(Java 8 ** Streams** 就是一个很好的例子)。
66
66
- ** 纯并行** :除非有多个处理器,否则不会运行。
67
67
68
- 在某些情况下,这可能是一个有用的分类法 。
68
+ 在某些情况下,这是一个有效的分类法 。
69
69
70
- 支持并发性的语言和库似乎是[ 抽象泄露(Leaky Abstraction)] ( https://en.wikipedia.org/wiki/Leaky_abstraction ) 一词的完美候选。抽象的目标是“抽象出”那些对于手头想法不重要的东西,以屏蔽不必要的细节 。如果抽象是有漏洞的,那些碎片和细节就会不断重新声明自己是重要的,无论你废了多少功夫来隐藏它们 。
70
+ 支持并发性的语言和库似乎是[ 抽象泄露(Leaky Abstraction)] ( https://en.wikipedia.org/wiki/Leaky_abstraction ) 一词的完美候选。抽象的目标是“抽象”掉那些对手头的想法不重要的部分,以屏蔽不必要的细节所带来的影响 。如果抽象是有漏洞的,那么即使废很大功夫去隐藏它们,这些细枝末节也总会不断凸显出自己是重要的, 。
71
71
72
- 我开始怀疑是否真的有高度抽象 。因为当编写这类程序时,底层的系统、工具,甚至是关于 CPU 缓存如何工作的细节,都永远不会被屏蔽。最后,如果你非常小心,你创作的东西在特定的情况下工作,但在其他情况下不工作。有时是两台机器的配置方式不同,有时是程序的估计负载不同 。这不是 Java 特有的 - 这是并发和并行编程的本质。
72
+ 于是我开始怀疑是否真的有高度地抽象 。因为当编写这类程序时,底层的系统、工具,甚至是关于 CPU 缓存如何工作的细节,都永远不会被屏蔽。最后,即使你已非常谨慎,你开发的程序也不一定在所有情况下运行正常。有时是因为两台机器的配置不同,有时是程序的预计负载不同 。这不是 Java 特有的 - 这是并发和并行编程的本质。
73
73
74
- 你可能会认为[ 纯函数式 ] ( https://en.wikipedia.org/wiki/Purely_functional ) 语言没有这些限制。实际上,纯函数式语言解决了大量并发问题,所以如果你正在解决一个困难的并发问题,你可以考虑用纯函数语言编写这个部分。但最终 ,如果你编写一个使用队列的系统,例如,如果该系统没有被正确地调整,并且输入速率也没有被正确地估计或限制(在不同的情况下,限制意味着具有不同的影响的不同东西),该队列要么被填满并阻塞,要么溢出。最后,你必须了解所有细节,任何问题都可能会破坏你的系统。这是一种非常不同的编程方式。
74
+ 你可能会认为[ 纯函数式] ( https://en.wikipedia.org/wiki/Purely_functional ) 语言没有这些限制。实际上,纯函数式语言的确解决了大量并发问题。如果你正在解决一个困难的并发问题,可以考虑用纯函数语言编写这个部分。但是 ,如果你编写一个使用队列的系统,例如,如果该系统没有被正确地调整,并且输入速率也没有被正确地估计或限制(在不同的情况下,限制意味着具有不同的影响的不同东西),该队列要么被填满并阻塞,要么溢出。最后,你必须了解所有细节,任何问题都可能会破坏你的系统。这是一种非常不同的编程方式。
75
75
76
76
<!-- A New Definition ofConcurrencyFor -->
77
77
### 并发的新定义
You can’t perform that action at this time.
0 commit comments