Java 8函数式编程的笔记(35)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • Strangeen

    Strangeen (很懒,什么都没留下)

    1. 只用reduce 和Lambda 表达式写出实现Stream 上的map 操作的代码,如果不想返回Stream,可以返回一个List。 2. 只用reduce 和Lambda 表达式写出实现Stream 上的filter 操作的代码,如果不想返回Stream,可以返回一个List。 答案见:http://www.jianshu.com/p/bec12aa21fc6

    2017-11-04 00:28

  • nico

    nico

    1. 重构遗留代码时考虑如何使用Lambda表达式,有一些通用的模式。 2. 如果想要对复杂一点的Lambda表达式编写单元测试,将其抽取成一个常规的方法。 3. peek方法能记录中间值,在调试时非常有用。

    2016-07-27 21:04

  • nico

    nico

    2. 例6-11中的代码把列表中的数字相乘,然后再将所得结果乘以5。顺序执行这段程序没有问题,但并行执行时有一个缺陷,使用流并行化执行该段代码,并修复缺陷。 例6-11 把列表中的数字相乘,然后再将所得结果乘以5,该实现有一个缺陷 /代码内容已省略/ /代码内容已省略/ 3.例6-12中的代码计算列表中数字的平方和。尝试改进代码性能,但不得牺牲代码质...

    2016-07-27 08:46

  • nico

    nico

    数组上的并行化操作 1. parallelPrefix 任意给定一个函数,计算数组的和 2. parallelSetAll 使用Lambda表达式更新数组元素 3. parallelSort 并行化对数组元素排序 例6-8 使用并行化数组操作初始化数组 /代码内容已省略/

    2016-07-27 08:18

  • nico

    nico

    影响并行流性能的主要因素有5个。 1. 数据块大小 输入数据的大小会影响并行化处理对性能的提升。将问题分解之后并行化处理,再将结果合并会带来额外的开销。因此只有数据足够大、每个数据处理管道花费的时间足够多时,并行化处理才有意义。 2. 源数据结构 每个管道的操作都基于一些初始数据源,通常是集合。将不同的数据源分割相对容易,这里的开销影响了在管道中并行处理数据时到底能带来多少性能上的提升。 3. 装箱 处...

    2016-07-26 22:06

  • nico

    nico

    要使用并行化运算必须遵守一些规则和限制。 reduce三个参数的方法中,如果是串行化运算就不会出现问题,但是并行化运算会出现初始值和每个元素进行运算。 /代码内容已省略/ 运算结果: result1: 47 result2: 63 并行运算每个元素都与初始值计算了一次,所以,要进行并行运算,初始值必须为0。 parallel方法是将流转换成并行流, sequential方法是将流转化成串行流。 如果同时调...

    2016-07-26 20:52

  • nico

    nico

    例6-3 使用蒙特卡洛模拟法并行化模拟掷骰子事件 /代码内容已省略/ 运行结果: resultMap1: {2=0.02780246, 3=0.05556867, 4=0.08336466000000001, 5=0.11114840999999999, 6=0.13888492000000002, 7=0.16660306000000003, 8=0.13885089999999997, 9=0.11113914999999999, 10=0.08334594999999999, 11=0.055508339999999996, 12=0.02778348} time1: 2.098 s resultMap2: {2=0.02775076, 3=...

    2016-07-26 20:25

  • nico

    nico

    并发:在一个CPU上,一个时间段,执行多个任务,利用不断切换任务让人误以为同时执行。 并行:在多个CPU上,每个CPU上分别执行自己的任务,这是真正意义上的同时。 数据并行化是指将数据分成块,为每块数据分配单独的处理单元。 任务并行化相当于多线程。

    2016-07-26 08:07

  • nico

    nico

    并没有认真做。

    2016-07-25 22:31

  • nico

    nico

    新增一些对Map对象操作的方法。 /代码内容已省略/ 运行结果: str1: A_Article str2: J_Jack 对Map对象的迭代,用key和value同时迭代。 /代码内容已省略/ 运行结果: resultMap: {A=9, J=6, L=5, M=4}

    2016-07-25 22:07

<前页 1 2 3 4 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Java 8函数式编程

>Java 8函数式编程