Java 8函数式编程

Java 8函数式编程

7.7301 评价豆瓣读书
¥23.40¥19.99
今日特价截止至:2024-03-29 02:00:00了解详情

作品简介

多年以来,函数式编程被认为是少数人的游戏,不适合推广给普罗大众。写作此书的目的就是为了挑战这种思想。本书将探讨如何编写出简单、干净、易读的代码;如何简单地使用并行计算提高性能;如何准确地为问题建模,并且开发出更好的领域特定语言;如何写出不易出错,并且更简单的并发代码;如何测试和调试Lambda表达式。

如果你已经掌握Java SE,想尽快了解Java 8新特性,写出简单干净的代码,那么本书不容错过。

Richard Warburton(作者),一位经验丰富的技术专家,善于解决复杂深奥的技术问题,拥有华威大学计算机科学专业博士学位。近期他一直从事高性能计算方面的数据分析工作。他是英国伦敦Java社区的领导者,组织过面向Java 8中Lambda表达式、日期和时间的Adopt-a-JSR项目,以及Openjdk Hackdays活动。Richard还是知名的会议演讲嘉宾,曾在JavaOne、DevoxxUK和JAX London等会议上演讲。

王群锋(译者),毕业于西安电子科技大学,现任职于IBM西安研发中心,从事下一代统计预测软件的开发运维工作。

作品目录

  1. 业界评论
  2. 前言
  3. 为什么要阅读本书
  4. 本书读者对象
  5. 怎样阅读本书
  6. 使用代码示例
  7. Safari\(^{®}\) Books Online
  8. 联系我们
  9. 致谢
  10. 第 1 章 简介
  11. 1.1 为什么需要再次修改Java
  12. 1.2 什么是函数式编程
  13. 1.3 示例
  14. 第 2 章 Lambda表达式
  15. 2.1 第一个Lambda表达式
  16. 2.2 如何辨别Lambda表达式
  17. 2.3 引用值,而不是变量
  18. 2.4 函数接口
  19. 2.5 类型推断
  20. 2.6 要点回顾
  21. 2.7 练习
  22. 第 3 章 流
  23. 3.1 从外部迭代到内部迭代
  24. 3.2 实现机制
  25. 3.3 常用的流操作
  26. 3.3.1  collect(toList())
  27. 3.3.2  map
  28. 3.3.3  filter
  29. 3.3.4  flatMap
  30. 3.3.5  max 和 min
  31. 3.3.6 通用模式
  32. 3.3.7  reduce
  33. 3.3.8 整合操作
  34. 3.4 重构遗留代码
  35. 3.5 多次调用流操作
  36. 3.6 高阶函数
  37. 3.7 正确使用Lambda表达式
  38. 3.8 要点回顾
  39. 3.9 练习
  40. 3.10 进阶练习
  41. 第 4 章 类库
  42. 4.1 在代码中使用Lambda表达式
  43. 4.2 基本类型
  44. 4.3 重载解析
  45. 4.4  @FunctionalInterface
  46. 4.5 二进制接口的兼容性
  47. 4.6  默认方法
  48. 默认方法和子类
  49. 4.7 多重继承
  50. 三定律
  51. 4.8 权衡
  52. 4.9 接口的静态方法
  53. 4.10  Optional
  54. 4.11 要点回顾
  55. 4.12 练习
  56. 4.13 开放练习
  57. 第 5 章 高级集合类和收集器
  58. 5.1 方法引用
  59. 5.2 元素顺序
  60. 5.3 使用收集器
  61. 5.3.1 转换成其他集合
  62. 5.3.2 转换成值
  63. 5.3.3 数据分块
  64. 5.3.4 数据分组
  65. 5.3.5 字符串
  66. 5.3.6 组合收集器
  67. 5.3.7 重构和定制收集器
  68. 5.3.8 对收集器的归一化处理
  69. 5.4 一些细节
  70. 5.5 要点回顾
  71. 5.6 练习
  72. 第 6 章 数据并行化
  73. 6.1 并行和并发
  74. 6.2 为什么并行化如此重要
  75. 6.3 并行化流操作
  76. 6.4 模拟系统
  77. 6.5 限制
  78. 6.6 性能
  79. 6.7 并行化数组操作
  80. 6.8 要点回顾
  81. 6.9 练习
  82. 第 7 章 测试、调试和重构
  83. 7.1 重构候选项
  84. 7.1.1 进进出出、摇摇晃晃
  85. 7.1.2 孤独的覆盖
  86. 7.1.3 同样的东西写两遍
  87. 7.2 Lambda表达式的单元测试
  88. 7.3 在测试替身时使用Lambda表达式
  89. 7.4 惰性求值和调试
  90. 7.5 日志和打印消息
  91. 7.6 解决方案: peak
  92. 7.7 在流中间设置断点
  93. 7.8 要点回顾
  94. 第 8 章 设计和架构的原则
  95. 8.1 Lambda表达式改变了设计模式
  96. 8.1.1 命令者模式
  97. 8.1.2 策略模式
  98. 8.1.3 观察者模式
  99. 8.1.4 模板方法模式
  100. 8.2 使用Lambda表达式的领域专用语言
  101. 8.2.1 使用Java编写DSL
  102. 8.2.2 实现
  103. 8.2.3 评估
  104. 8.3 使用Lambda表达式的SOLID原则
  105. 8.3.1 单一功能原则
  106. 8.3.2 开闭原则
  107. 8.3.3 依赖反转原则
  108. 8.4 进阶阅读
  109. 8.5 要点回顾
  110. 第 9 章 使用Lambda表达式编写并发程序
  111. 9.1 为什么要使用非阻塞式I/O
  112. 9.2 回调
  113. 9.3 消息传递架构
  114. 9.4 末日金字塔
  115. 9.5 Future
  116. 9.6  CompletableFuture
  117. 9.7 响应式编程
  118. 9.8 何时何地使用新技术
  119. 9.9 要点回顾
  120. 9.10 练习
  121. 第 10 章 下一步该怎么办
  122. 封面介绍
载入中

大家都喜欢