容嘉:Java大牛发布最新Java实战笔记,从基础知识

 行业新闻     |      2020-11-07 07:55

  关于作者

  1998年,八岁的我拿起了我此生第一本计算机书,那本书讲的是Java Script和HTML。我当时怎么也想不到,打开那本书会让我见识到编程语言和它们能够创造的神奇世界,并彻底改变我的生活。我被它深深地吸引了。如今,编程语言的某个新特性还会时不时地让我感到兴奋,因为它让我花更少的时间就能够写出更清晰、更简洁的代码。我希望本书探讨的Java 8、9以及10中那些来自函数式编程的新思想,同样能够给你启迪。

  我们见到了Java 8的布道者富斯科,他有着非常丰富的专业经验,并且因在重大开发者会议上所做的函数式编程演讲而享有盛名。我们很快就认识到,如果将大家的能量和背景融合起来,就不仅仅可以写出一本关于Java 8 Lambda的小书,而是可以写出(我们希望)一本五年或十年后,在Java领域仍然有人愿意阅读的书。我们有了一个非常难得的机会来深入讨论许多话题,它们不但有益于Java程序员,还打开了通往一扇通往新世界的大门:函数式编程。

  函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里函数的计算可随时调用。

  《1700年中国清朝满族战士的服饰》,腰带加入λ形的带扣

  关于内容

  高分经典《Java 8实战》全新改版升级通过示例全面讲解Java 8、9、10新特性。

  目录

  下面将带大家从主要内容来走进这份最新Java实战笔记。需要完整版的小伙伴,可以关注小编,私信小编【666】来获取!!!

  第一部分 基础知识

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

  Java怎么又变了日新月异的计算应用背景Java改进的压力Java 8和Java 9的核心新特性

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

  应对不断变化的需求行为参数化匿名类Lambda表达式预览真实示例:Comparator、Runnable和GUI

  第3章 Lambda表达式

  Lambda管中窥豹在哪里以及如何使用Lambda环绕执行模式函数式接口,类型推断方法引用Lambda复合

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

  第4章 引入流

  什么是流集合与流内部迭代与外部迭代中间操作与终端操作

  第5章 使用流

  筛选、切片和映射查找、匹配和归约使用数值范围等数值流从多个源创建流无限流

  第6章 用流收集数据

  用Collectors类创建和使用收集器将数据流归约为一个值汇总:归约的特殊情况数据分组和分区开发你的自定义收集器

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

  用并行流并行处理数据并行流的性能分析分支/合并框架使用Spliterator分割流

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

  第8章 Collection API的增强功能

  如何使用集合工厂学习使用新的惯用模式处理List和Set学习通过惯用模式处理Map

  第9章 重构、测试和调试

  如何使用Lambda表达式重构代码Lambda表达式对面向对象的设计模式的影响Lambda表达式的测试如何调试使用Lambda表达式和Stream API的代码

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

  领域特定语言(domain-specifc language, DSL)及其形式为你的API添加DSL都有哪些优缺点除了简单的基于Java的DSL之外,JVM还有哪些领域特定语言可供选择从现代Java接口和类中学习领域特定语言高效实现基于Java的DSL都有哪些模式和技巧常见Java库以及工具是如何使用这些模式的

  第四部分 无所不在的Java

  第11章 用Optional取代null

  null引用引发的问题,以及为什么要避免null引用从null到Optional:以null安全的方式重写你的域模型让Optional发光发热: 去除代码中对null的检查读取Optional中可能值的几种方法对可能缺失值的再思考

  第12章 新的日期和时间API

  为什么在Java 8中需要引入新的日期和时间库同时为人和机器表示日期和时间定义时间的度量操纵、格式化以及解析日期处理不同的时区和历法

  第13章 默认方法

  什么是默认方法如何以一种兼容的方式改进API默认方法的使用模式解析规则

  第14章 Java模块系统

  推进Java模块化之路的动力模块的主体结构:模块声明以及requires和exports指令针对Java归档文件(JAR)的自动模块模块化以及JDK库使用Maven构建多个模块概述requires和exports之外的模块指令

  第五部分 提升Java的并发性

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

  线程、Future以及推动Java支持更丰富的并发API的进化动力异步API从“线框与管道”的角度看并发计算使用CompletableFuture结合器动态地连接线框构成Java 9反应式编程Flow API基础的“发布–订阅”协议反应式编程和反应式系统

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

  创建异步计算,并获取计算结果使用非阻塞操作提升吞吐量设计和实现异步API如何以异步的方式使用同步的API如何对两个或多个异步操作进行流水线和合并操作如何处理异步操作的完成状态

  第17章 反应式编程

  什么是反应式编程以及反应式宣言的原则应用级和系统级的反应式编程采用反应式流(reactive stream)以及Java 9 Flow API实现的一个例子一种广泛采用的反应式库——RxJava如何使用RxJava转换和整合多个反应式流如何使用弹珠图可视化地记录反应式流上的操作

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

  第18章 函数式的思考

  为什么要进行函数式编程什么是函数式编程声明式编程以及引用透明性编写函数式Java的准则迭代和递归

  第19章 函数式编程的技巧

  一等成员、高阶方法、柯里化以及局部应用持久化数据结构生成Java Stream时的延迟计算和延迟列表模式匹配以及如何在Java中应用引用透明性和缓存

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

  什么是Scala语言Java与Scala是如何相生相承的Scala中的函数与Java中的函数有哪些区别类和trait

  第21章 结论以及Java的未来

  Java 8的新特性以及其对编程风格颠覆性的影响全新的Java 9模块系统每六个月一次的Java递增–发布生命周期构成Java 10的第一个递增发布未来的Java版本中还可能有哪些新东西

  这份最新Java实战笔记共有615页,因为内容过多在这里就不做过多的介绍了,需要完整版的小伙伴,可以关注小编,私信小编【666】来获取!!!

  希望你会喜欢它!