Java 8实战 - 厄马(Raoul-Gabriel Urma)

Java 8实战

厄马(Raoul-Gabriel Urma)

出版时间

2016-03-31

ISBN

9787115419347

评分

★★★★★

标签

编程

书籍介绍

本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。

AI导读
核心看点
  • 全面解析Lambda、Stream及函数式编程
  • 深入讲解CompletableFuture异步编程
  • 作者为Java 8核心设计者,权威解读
适合谁读
  • 希望升级Java 8技能的开发者
  • 想学习函数式编程与并行处理的程序员
  • 追求代码简洁与高效的数据处理者
读前提醒
  • 建议结合书中提供的GitHub源码实践
  • 重点理解行为参数化与流式处理思维
  • 注意区分同步API与异步API的使用场景
读者共识
  • 讲解清晰易懂,是Java 8入门首选
  • Stream流处理极大简化了集合操作
  • 部分读者认为后半部分略显头重脚轻

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "In fact, using synchronized across multiple processing cores is far more expensive than we often expect, because synchronization forces code to execute sequentially, which works against the goal of parallelism."
  • "同步API与异步API 同步API其实只是对传统方法调用的另一种称呼:你调用了某个方法,调用方在被调用方 运行的过程中会等待,被调用方运行结束返回,调用方取得被调用方的返回值并继续运行。即 使调用方和被调用方在不同的线程中运行,调用方还是需要等待被调用方结束运行,这就是阻 塞式调用这个名词的由来。 与此相反, 异步API会直接返回,或者至少在被调用方计算完成之前,将它剩余的计算任 务交给另一个线程去做,该线程和调用方是异步的——这就是非阻塞式调用的由来。执行剩余 计算任务的线程会将它的计算结果返回给调用方。返回的方式要么是通过回调函数,要么是由 调用方再次执行一个“等待,直到计算完成”的方法调"
  • "并行——使用流还是CompletableFutures? 目前为止,你已经知道对集合进行并行计算有两种方式:要么将其转化为并行流,利用map 这样的操作开展工作,要么枚举出集合中的每一个元素,创建新的线程,在CompletableFuture内对其进行操作。后者提供了更多的灵活性,你可以调整线程池的大小,而这能帮助 你确保整体的计算不会因为线程都在等待I/O而发生阻塞。 我们对使用这些API的建议如下。 ❑如果你进行的是计算密集型的操作,并且没有I/O,那么推荐使用Stream接口,因为实 现简单,同时效率也可能是最高的(如果所有的线程都是计算密集型的,那就没有必要 创建比处理器核数更多的线程"
  • "第二,要求它是 Predicate<Apple>(目标类型)对象的第二个正式参数"
  • "名叫开放服务网关协议(open service gateway initiative, OGSi)"
作者简介
作者简介: Raoul-Gabriel Urma 剑桥大学计算机科学博士,软件工程师,演讲者,培训师,Cambridge Coding Academy联合创始人、CEO。曾与谷歌、eBay、甲骨文和高盛集团等大公司合作,并参与过多个创业项目。撰写过十余篇经同行审阅的技术文章,并在国际会议上发表过40多篇演讲。 Mario Fusco Red Hat高级软件工程师,负责JBoss规则引擎Drools的核心开发。拥有丰富的Java开发经验,曾领导媒体公司、金融部门等多个行业的企业级项目开发。对函数式编程和领域特定语言等有浓厚兴趣,并创建了开放源码库lambdaj。 Alan Mycroft 剑桥大学计算机实验室计算学教授,剑桥大学罗宾逊学院研究员,欧洲编程语言和系统协会联合创始人,树莓派基金会联合创始人和理事。发表过大约100篇研究论文,指导过20多篇博士论文。他的研究主要关注编程语言及其语义、优化和实施。他与业界联系紧密,曾于学术休假期间在AT&T实验室和英特尔工作,还创立了Codemist公司,该公司设计了最初的ARM C编译器Norcroft。 译者简介: 陆明刚 毕业于四川大学,目前在EMC中国卓越研发集团任首席工程师,曾任趋势科技中国软件研发中心技术经理,在信息科学和工程领域有十余年的实践和研究经验,拥有多项中国及美国专利。关注JVM性能调优和大数据及其实践,喜欢挖掘技术背后的内幕并乐此不疲。 劳佳 硕士毕业于上海交通大学,现在SAP美国任高级软件支持顾问。业余爱好语言、数学、设计,近年翻译出版了《咨询的奥秘》《卓越程序员密码》等书。
目录
第一部分 基础知识
第1章 为什么要关心Java 8  2
1.1 Java怎么还在变  4
1.1.1 Java在编程语言生态系统中的位置  4
1.1.2 流处理  6

显示全部
用户评论
清晰又明确
对Java8的新特性讲解的十分到位,尤其是lamdba表达式和流的操作。再者对于Java8并发处理很有独到见解。对于并行数据处理和组合式异步编程还需要更深的思考才能更加掌握。巩固Java基础的第一本,后面是编程思想。
难得一见的好书,讲解很清楚,终于算是了解了java新特性。此外,排版良心。
作者是Java8的版本的编写人之一,更能体会到Java为什么要进化的痛点。函数式编程让Java对数据的处理越来越像sql,但是问题在于sql都能做的话,我们还要Java干什么。因为现在越来越多的项目使用非关系型数据库了,那么语言层面的支持就更加重要了。Strem流对并行的支持也是很舒服的一大特性。11章CompleteableFuture是本书最精彩的一章,层层递进的方式阐述了串行,并行流和CompleteableFuture一步一步的进化。
我觉得一般,不够直白。
茅塞顿开!
看完的第一本书,受益匪浅
对这本书本来没多大期望,但读完感觉竟然还不错,可以感受到作者是个学识渊博,对java很了解的人。
通俗易懂,很适合Java8入门的一本书
系统看过的第一本讲java的书,理论和实践讲的都很好,看完对lambda表达式有了更深刻的理解。强烈推荐
下载
收藏