课程大纲
函数式编程对Java的影响
什么是函数式编程
函数作为一等公民
纯函数与引用透明
函数的抽象能力
声明式与命令式的区别
分而治之设计思想
比较Scala与Java
Java 8新特性
Lambda表达式
如何理解Lambda表达式
Java 8中的Lambda表达式语法
使用函数接口
方法引用(Method Reference)
Streams
为何要使用Streams
Streams operations
Streams的应用
并行数据处理与性能
Default Methods
Java接口的问题
比较Scala的trait
API的演化
如何合理地运用Default Methods
Optional
Null Object模式
Optional与Monad
Optional的好处
新Date与Time API
Joda Time
新API的使用
Futures与异步处理
Futures
JavaScript中的Promise
Scala中的Futures与Promise
Java 8的异步处理
Java 9新特性
Java 9版本的重要新特性包括:
Java 平台级模块系统
交互式Java REPL
改进的Java Doc
集合工厂方法
改进的Stream API
私有接口方法
HTTP/2
多版本兼容JAR
Java 10的新特性
Java 10中对Java语法最重要的新特性为:
局部变量的类型推断
Java 11的新特性
Java 11的主要新特性包括:
基于嵌套的访问控制
HTTP Client的升级
垃圾回收器的优化
Lambda 参数的局部变量语法