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