个人简介

Echo Blog


江湖无名 安心练剑
  • java8 函数式编程-07-debug 测试、调试、重构
    重构、测试驱动开发(TDD)和持续集成(CI)越来越流行,如果我们需要将 Lambda 表达式应用于日常编程工作中,就得学会如何为它编写单元测试。 关于如何测试和调试计算机程序的书已经汗牛充栋,本章不打算再一一赘述。 如果读者对如何正确地使用测试驱动开发(TDD)感兴趣,我极力推荐大家阅读 Kent Beck 写的Test-Driven Development,以及由 Steve Fre...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-06-parallel 数据并行化
    前面多次提到,在 Java 8 中,编写并行化的程序很容易。这都多亏了第 3 章介绍的Lambda 表达式和流,我们完全不必理会串行或并行,只要告诉程序该做什么就行了。 这听起来和长久以来使用 Java 编程的方式并无区别,但告诉计算机做什么和怎么做是完全不同的。 从外部迭代到内部迭代的过渡(详见第 3 章),确实让编写简洁的代码更加容易,但这还不是唯一的好处,另一个好处是程序员不需要手...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-05-collect 高级集合类和收集器
    第 3 章只介绍了集合类的部分变化,事实上,Java 8 对集合类的改进不止这些。 现在是时候介绍一些高级主题了,包括新引入的 Collector 类。同时我还会为大家介绍方法引用,它可以帮助大家在 Lambda 表达式中轻松使用已有代码。 编写大量使用集合类的代码时,使用方法引用能让程序员获得丰厚的回报。 本章还会涉及集合类的一些更高级的主题,比如流中元素的顺序,以及一些有用的 AP...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-04-lib 类库
    前 3 章讨论了如何编写 Lambda 表达式,接下来将详细阐述另一个重要方面:如何使用Lambda 表达式。 即使不需要编写像 Stream 这样重度使用函数式编程风格的类库,学会如何使用 Lambda 表达式也是非常重要的。 即使一个最简单的应用,也可能会因为代码即数据的函数式编程风格而受益。 Java 8 中的另一个变化是引入了默认方法和接口的静态方法,它改变了人们认识类库的方式...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-03-Stream 流
    Java 8 中新增的特性旨在帮助程序员写出更好的代码,其中对核心类库的改进是很关键的一部分,也是本章的主要内容。 对核心类库的改进主要包括集合类的 API 和新引入的流(Stream)。 流使程序员得以站在更高的抽象层次上对集合进行操作。本章会介绍 Stream 类中的一组方法,每个方法都对应集合上的一种操作。 3.1 从外部迭代到内部迭代 Java 程序员在使用集合类时,一个通用...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-02-Lambda 表达式
    Java 8 的最大变化是引入了 Lambda 表达式——一种紧凑的、传递行为的方式。 它也是本书后续章节所述内容的基础,因此,接下来就了解一下什么是 Lambda 表达式。 2.1 第一个Lambda表达式 Swing 是一个与平台无关的 Java 类库,用来编写图形用户界面(GUI)。 该类库有一个常见用法:为了响应用户操作,需要注册一个事件监听器。 用户一输入,监听器就会执行...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-01-介绍
    在开始探索 Lambda 表达式之前,首先我们要知道它因何而生。 本章将介绍 Lambda 表达式产生的原因,以及本书的写作动机和组织结构。 1.1 为什么需要再次修改Java 1996 年 1 月,Java 1.0 发布,此后计算机编程领域发生了翻天覆地的变化。 商业发展需要更复杂的应用,大多数程序都跑在功能强大的多核 CPU 的机器上。 带有高效运行时编译器的 Java 虚拟机...
    2020-06-05 09:42:59 | Java
  • java8 函数式编程-00-概览
    序言 多年以来,函数式编程被认为是少数人的游戏,这些人总是强调自己在智力上的优越性,认为函数式编程的智慧不适合推广给普罗大众。 写作此书的目的就是为了挑战这种思想,函数式编程并没有多么了不起,也绝不是少数人的游戏。 在过去的两年中,我请伦敦 Java 社区的开发人员以各种方式测试 Java 8 的新特性。 我发现很多人都喜欢 Java 8 的新用法和类库。 他们有可能被一些术语和高...
    2020-06-05 09:42:59 | Java