随笔分类 -  java8实战

第九章:CompletableFuture组合式异步编程
摘要:9.1 Future 接口 计算从0到给定数值的自然数相加之和 同步执行 异步执行 测试 9.2 使用CompletableFuture实现异步API 商品类 Shop 9.2.1 实现异步API 测试 9.2.2 CompletableFuture异常处理方法completeExceptional 阅读全文

posted @ 2018-06-17 16:26 changlezhong

第八章:新的日期和时间API
摘要:8.1 LocalDate,LocalTime,Instant,Duration 以及 Period 8.1.1 使用 LocalDate 和 LocalTime 创建一个LocalDate对象并读取它的值 你还可以使用工厂方法从系统中获取当前的日期 通过传递一个TemporalField参数给ge 阅读全文

posted @ 2018-06-17 16:23 changlezhong

第七章:用Optional取代null
摘要:7.1 如何为缺失的值建模 假如你需要你需要处理下面的嵌套对象 那么下面的代码存在什么问题呢? 这段代码看上去正常,可很容易报NullPointerException导致程序的运行终止。 解决方案: 采用防御式检查减少NullPointerException 7.2 Optional类入门 7.2. 阅读全文

posted @ 2018-06-16 19:29 changlezhong

第六章:并行数据处理与性能
摘要:并行流 假如你需要写一个方法,接受数字 n 作为参数,并返回从1到给定参数的所有数字的和。 总结: 备注: 摘自文献:《Java8实战》(中文版)《Java8 in Action》(英文版) 代码(GitHub地址): https://github.com/changlezhong/java8InA 阅读全文

posted @ 2018-06-10 20:26 changlezhong

第五章:用流收集数据
摘要:本章内容: 将数据流归约为一个值 汇总:归约的特殊情况 数据分组和分区 开发自己的自定义收集器 5.1 归约与汇总 5.1.1 查找流中的最大值和最小值 如果你想找出菜单中热量最高或最低的菜,你可以使用两个收集器:Collectors.maxBy和Collectors.minBy来计算流中的最大值或 阅读全文

posted @ 2018-06-09 22:21 changlezhong

第四章:使用流
摘要:本章内容: 筛选、切片和匹配 查找、匹配和归约 使用数值范围等数值流 从多个源创建流 无限流 4.1 筛选和切片 4.1.1 用谓词筛选 Stream接口支持filter方法,该方法会接受一个谓词(一个返回boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流 4.1.2 筛选各异的元 阅读全文

posted @ 2018-06-05 22:12 changlezhong

第三章:流
摘要:本章内容: 1. 什么是流 2. 集合与流 3. 中间操作和终端操作 3.1 什么是流 流是javaAPI的新成员,它允许你以声明式方式处理集合数据(通过查询语句来表达,类似于mysql等数据库的查询sql) 现在有这么一个需求:返回低热量(卡路里小于400)的菜肴名称,并按照卡路里排序 之前写法( 阅读全文

posted @ 2018-06-04 07:30 changlezhong

第二章:Lambda表达式
摘要:本章内容: Lambda管中窥豹 在哪里以及如何使用Lambda表达式 函数式接口,类型推断 方法引用 Lambda复合 2.1 Lambda管中窥豹 可以把Lambda表达式理解为简洁的表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、方法主体、返回类型等。 匿名: 它不像普通方法那样有 阅读全文

posted @ 2018-06-03 19:40 changlezhong

第一章:行为参数化
摘要:1.1 应对不断变化的需求: 有一个 Apple 实体类: 构造测试数据: public static List<Apple> inventory = Arrays.asList(new Apple(80,"green"), new Apple(155, "green"), new Apple(12 阅读全文

posted @ 2018-06-02 23:22 changlezhong

导航