万本电子书0元读

万本电子书0元读

顶部广告

Java实战(第2版)电子书

现代Java应用充分利用了微服务、反应式架构以及流式数据等创新设计。现代Java特性,譬如Lambda、流以及大家期待已久的Java模块系统让这些设计的实现极其便利。是时候更新技能工具箱了,只有这样,你才能从容应对迎面而来的种种挑战! 本书通过透彻的示例和通俗的语言讲解了Java语言这些激动人心的特性,作者注重细节,努力降低了学习难度,节省你宝贵的时间。依照本书边学边练,你可以很快掌握流应用程序口、Java模块系统等现代Java新特性,再一步去探寻实现并发的新方法,了解函数式编程如何帮你编写可读性好又容易维护的代码。潜心修炼,你的编程实力必能提高到新的层次。 本书特色: ●对上一版(《Java 8实战》)做了全新改版 ●Java 8、9、10及后续版本新特性介绍 ●流数据处理以及反应式编程 ●Java模块系统

售       价:¥

纸质售价:¥79.80购买纸书

380人正在读 | 2人评论 6.2

作       者:(英)拉乌尔–加布里埃尔·乌尔玛 (意)马里奥·富斯科 (英)艾伦·米克罗夫特

出  版  社:人民邮电出版社有限公司

出版时间:2019-12-01

字       数:52.0万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书全面介绍了Java 8、9、10版本的新特性,包括Lambda表达式、方法引用、流、默认方法、Optional、CompletableFuture以及新的日期和时间API,是程序员了解Java新特性的经典指南。全书共分六个部分:基础知识、使用流行函数式数据处理、使用流和Lambda行高效编程、无所不在的Java、提升Java的并发性、函数式编程以及Java未来的演。<br/>【推荐语】<br/>现代Java应用充分利用了微服务、反应式架构以及流式数据等创新设计。现代Java特性,譬如Lambda、流以及大家期待已久的Java模块系统让这些设计的实现极其便利。是时候更新技能工具箱了,只有这样,你才能从容应对迎面而来的种种挑战! 本书通过透彻的示例和通俗的语言讲解了Java语言这些激动人心的特性,作者注重细节,努力降低了学习难度,节省你宝贵的时间。依照本书边学边练,你可以很快掌握流应用程序口、Java模块系统等现代Java新特性,再一步去探寻实现并发的新方法,了解函数式编程如何帮你编写可读性好又容易维护的代码。潜心修炼,你的编程实力必能提高到新的层次。 本书特色: ●对上一版(《Java 8实战》)做了全新改版 ●Java 8、9、10及后续版本新特性介绍 ●流数据处理以及反应式编程 ●Java模块系统<br/>【作者】<br/>拉乌尔?C加布里埃尔·乌尔玛(Raoul-Gabriel Urma),剑桥大学计算机科学博士,软件工程师,培训师,现任Cambridge Spark公司CEO。在谷歌、eBay、甲骨文和高盛等大公司工作过,并参与过多个创业项目。活跃在技术社区,经常撰写技术文章,多次受邀在国际会议上做技术讲座。 马里奥·富斯科(Mario Fusco),Red Hat高级软件工程师,负责JBoss规则引擎Drools的核心发。拥有丰富的Java发经验,曾领导媒体公司、金融部门等多个行业的企业级项目发。对函数式编程和领域特定语言等有浓厚兴趣,并创建了放源码库lambdaj。 艾伦·米克罗夫特(Alan Mycroft),剑桥大学计算机实验室计算学教授,剑桥大学罗宾逊学院研究员,欧洲编程语言和系统协会联合创始人,树莓派基金会联合创始人和理事。发表过大约100篇研究论文,指导过20多篇博士论文。他的研究主要关注编程语言及其语义、优化和实施。他与业界联系紧密,曾于学术休假期间在AT&T实验室和英特尔工作,还创立了Codemist公司,该公司设计了初的ARM C编译器Norcroft。 【译者介绍】 陆明刚,毕业于四川大学,目前在Dell EMC中国卓越研发集团任高级主管工程师,曾任趋势科技中国软件研发中心技术经理,在信息科学和工程领域有十余年的实践和研究经验,拥有多项中国及美国专利。关注JVM性能调优和大数据及其实践,喜欢挖掘技术背后的内幕并乐此不疲。 劳佳,上海交通大学硕士,现任SAP(美国)高级软件支持顾问。业余爱好语言、数学、设计,英、法双语译者,近年翻译出版了《咨询的奥秘》《卓越程序员密码》《计算化史:改变数学的命运》等书。<br/>
目录展开

版权声明

对本书上一版的赞誉

前言

致谢

关于本书

关于封面图片

第一部分 基础知识

第 1 章 Java 8、9、10以及11的变化

1.1 为什么要关心Java的变化

1.2 Java怎么还在变

1.3 Java中的函数

1.4 流

1.5 默认方法及Java模块

1.6 来自函数式编程的其他好思想

1.7 小结

第 2 章 通过行为参数化传递代码

2.1 应对不断变化的需求

2.2 行为参数化

2.3 对付啰唆

2.4 真实的例子

2.5 小结

第 3 章 Lambda表达式

3.1 Lambda管中窥豹

3.2 在哪里以及如何使用Lambda

3.3 把Lambda付诸实践:环绕执行模式

3.4 使用函数式接口

3.5 类型检查、类型推断以及限制

3.6 方法引用

3.7 Lambda和方法引用实战

3.8 复合Lambda表达式的有用方法

3.9 数学中的类似思想

3.10 小结

第二部分 使用流进行函数式数据处理

第 4 章 引入流

4.1 流是什么

4.2 流简介

4.3 流与集合

4.4 流操作

4.5 路线图

4.6 小结

第 5 章 使用流

5.1 筛选

5.2 流的切片

5.3 映射

5.4 查找和匹配

5.5 归约

5.6 付诸实践

5.7 数值流

5.8 构建流

5.9 概述

5.10 小结

第 6 章 用流收集数据

6.1 收集器简介

6.2 归约和汇总

6.3 分组

6.4 分区

6.5 收集器接口

6.6 开发你自己的收集器以获得更好的性能

6.7 小结

第 7 章 并行数据处理与性能

7.1 并行流

7.2 分支/合并框架

7.3 Spliterator

7.4 小结

第三部分 使用流和Lambda进行高效编程

第 8 章 Collection API的增强功能

8.1 集合工厂

8.2 使用List和Set

8.3 使用Map

8.4 改进的ConcurrentHashMap

8.5 小结

第 9 章 重构、测试和调试

9.1 为改善可读性和灵活性重构代码

9.2 使用Lambda重构面向对象的设计模式

9.3 测试Lambda表达式

9.4 调试

9.5 小结

第 10 章 基于Lambda的领域特定语言

10.1 领域特定语言

10.2 现代Java API中的小型DSL

10.3 使用Java创建DSL的模式与技巧

10.4 Java 8 DSL的实际应用

10.5 小结

第四部分 无所不在的Java

第 11 章 用Optional取代null

11.1 如何为缺失的值建模

11.2 Optional类入门

11.3 应用Optional的几种模式

11.4 使用Optional的实战示例

11.5 小结

第 12 章 新的日期和时间API

12.1 LocalDate、LocalTime、LocalDateTime、Instant、Duration以及Period

12.2 操纵、解析和格式化日期

12.3 处理不同的时区和历法

12.4 小结

第 13 章 默认方法

13.1 不断演进的API

13.2 概述默认方法

13.3 默认方法的使用模式

13.4 解决冲突的规则

13.5 小结

第 14 章 Java模块系统

14.1 模块化的驱动力:软件的推理

14.2 为什么要设计Java模块系统

14.3 Java模块:全局视图

14.4 使用Java模块系统开发应用

14.5 使用多个模块

14.6 编译及打包

14.7 自动模块

14.8 模块声明及子句

14.9 通过一个更复杂的例子了解更多

14.10 小结

第五部分 提升Java的并发性

第 15 章 CompletableFuture及反应式编程背后的概念

15.1 为支持并发而不断演进的Java

15.2 同步及异步API

15.3 “线框–管道”模型

15.4 为并发而生的CompletableFuture和结合器

15.5 “发布–订阅”以及反应式编程

15.6 反应式系统和反应式编程

15.7 路线图

15.8 小结

第 16 章 CompletableFuture:组合式异步编程

16.1 Future接口

16.2 实现异步API

16.3 让你的代码免受阻塞之苦

16.4 对多个异步任务进行流水线操作

16.5 响应CompletableFuture的completion事件

16.6 路线图

16.7 小结

第 17 章 反应式编程

17.1 反应式宣言

17.2 反应式流以及Flow API

17.3 使用反应式库RxJava

17.4 小结

第六部分 函数式编程以及Java未来的演进

第 18 章 函数式的思考

18.1 实现和维护系统

18.2 什么是函数式编程

18.3 递归和迭代

18.4 小结

第 19 章 函数式编程的技巧

19.1 无处不在的函数

19.2 持久化数据结构

19.3 Stream的延迟计算

19.4 模式匹配

19.5 杂项

19.6 小结

第 20 章 面向对象和函数式编程的混合:Java和Scala的比较

20.1 Scala简介

20.2 函数

20.3 类和trait

20.4 小结

第 21 章 结论以及Java的未来

21.1 回顾Java 8的语言特性

21.2 Java 9的模块系统

21.3 Java 10的局部变量类型推断

21.4 Java的未来

21.5 让Java发展得更快

21.6 写在最后的话

附录 A 其他语言特性的更新

A.1 注解

A.2 通用目标类型推断

附录 B 其他类库的更新

B.1 集合

B.2 并发

B.3 Arrays

B.4 Number和Math

B.5 Files

B.6 Reflection

B.7 String

附录 C 如何以并发方式在同一个流上执行多种操作

C.1 复制流

C.2 性能的考量

附录 D Lambda表达式和JVM字节码

D.1 匿名类

D.2 生成字节码

D.3 用InvokeDynamic力挽狂澜

D.4 代码生成策略

看完了

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部