JDK8归纳
1、Lambda表达式
提供简洁的语法实现行为参数化,特别是对集合的处理上,能够很方便的实现很多抽象化的功能。比如对集合的分组、排序、查找。。
2、流式编程
Java8的流依赖Lambda表达式,可以对集合的多种操作需求进行整合优化,封装迭代。
但是性能表现不是太理想,数据量较小可以考虑使用,大集合使用需斟酌。
3、接口默认方法
为接口的方法提供默认的实现,特别适合对现有的API进行扩展,提供良好的兼容性。
这个特性个人认为很大可能是流式编程中对List接口扩展的需要衍生出来的特性。
4、新的日期时间类
提供更友好的日期时间处理类,日期处理类LocalDate、时间处理类:LocalTime、日期时间结合处理类LocalDateTime。
日期处理公共类:TemporalAdjuster。
5、组合异步编程CompletableFuture
对Future的扩展,实现为两个异步操作建立关联,友好的异常处理。
6、Optional
为API方法提供Optional类型的返回值,减少空指针异常发生概率。设计思想很符合本人的一贯风格,就是增加了程序复杂度。
7、重复注解支持
为同个方法或类支持重复添加相同的注解。
8、其它API增强