Skip to content

milo-cell/JavaLambdaInternals

 
 

Repository files navigation

Java Functional Programming Internals

Authors

Name Weibo Id Blog Mail
李豪 @计算所的小鼠标 CarpenterLee [email protected]

Introduction

本文受启发于JavaOne 2016关于Lambda表达式的相关主题演讲Lambdas and Functional ProgrammingRefactoring to Java 8

Java 8已经发行两年多,但很多人仍然在使用JDK7。对企业来说,技术上谨慎未必是坏事,但对个人学习而言,不去学习新技术就很可能被技术抛弃。Java 8一个重要的变更是引入函数式编程Lambda表达式(lambda expression),这听起来似乎很牛,有种我虽然不知道Lambda表达式是什么,但我仍然觉得很厉害的感觉。

Java stream包是跟Lambda表达式同时添加新功能。Lambda表达式只有跟stream一起使用才能显示其真实的威力

本系列文章不打算去争论“什么才算是一门真正的函数式语言”这类问题。我们会将重点放在如何使用Java Lambda表达式,如何使用stream,以及二者背后的原理

Contents

具体内容安排如下:

  1. Lambda and Anonymous Classes(I),展示如何使用Lambda表达式替代匿名内部类,说明Lambda表达式和函数接口的关系。
  2. Lambda and Anonymous Classes(II),Lambda表达式的实现原理
  3. Lambda and Collections,学习Java集合框架(Java Collections Framework)新加入的方法
  4. Streams API(I),Stream API基本用法
  5. Streams API(II),Stream规约操作用法,顺道说明接口静态方法和默认方法以及方法引用的概念。
  6. Stream Pipelines,Stream流水线的实现原理
  7. ParallelStream,Stream并行实现原理。
  8. Stream Performance,Stream API性能评测。

About

深入理解Java函数式编程和Streams API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%