vlambda博客
学习文章列表

每日知识点|JAVA函数式编程学习笔记

函数式编程是种编程方式,它将电脑运算视为函数的计算,函数式编程的核心思想是把运算过程抽象成函数,编程过程中面向函数进行编程和指令式编程相比,它的计算比指令的执行重要,但和过程化编程相比,它里面函数的计算又可随时调用。


一、纯函数:相同的输入永远会得到相同的输出,而且没有任何可观察的副作用


优点:

1.可缓存,如lodash中的memoize

2.可测试

3.并行处理:多线程环境下并行操作共享的内存数据很可能会出现意外情况。纯函数不需要访问共享的内存数据,所以在并行环境下可以任意运行纯函数(Web Worker)


二、柯里化

当一个函数有多个参数的时候先传递一部分参数调用它(这部分参数以后都不变)然后返回一个新的函数接收剩余参数,返回结果。相当于把一元函数变成多元函数

f(x,y,z)=>f(x)(y)(z)||f(x,y)(z)||f(x)(y,z)


三、函数组合:把细粒度的函数重新组合生成一个新的函数;如果一个函数经过多个函数处理才得到最终值,这时候可以把中间过程的函数合并成一个函数

每日知识点|JAVA函数式编程学习笔记


四、函子:是一个特殊的容器,通过一个普通的对象来实现,该对象具有map方法,map方法可以运行一个函数对值进行处理(变形关系)

每日知识点|JAVA函数式编程学习笔记

每日知识点|JAVA函数式编程学习笔记


好文推荐

1、

2、

3、

4、






扫码关注我们

100万+企业雇主  99%热门岗位
拉勾 免费简历内推 面试机会 1键搞定