首页 > 技术文章 > jdk1.8新特性

Yanss 2019-10-23 10:52 原文

1. 速度更快 – 红黑树 

HashMap中的红黑树

HashMap中链长度大于8时采取红黑树的结构存储。

红黑树,除了添加,效率高于链表结构。

2. 代码更少 – Lambda 

Lambda表达式的基础语法:Java8引入了一个新的操作符“->”,该操作符成为箭头操作符或者Lambda操作符,箭头操作符将Lambda表达式拆分成两部分

左侧:Lambda表达式的参数列表 

右侧:Lambda表达式中所需执行的功能,即Lambda体。

3. 强大的Stream API – Stream 

一系列流水线式的中间操作。

流是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。

注意:

①Stream自己不会存储元素。 

②Stream不会改变源对象。相反,会返回持有新结果的新Stream。 

③Stream操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。

4. 便于并行 – Parallel 

   在必要的情况下,将一个大任务进行必要的拆分Fork成若干个小任务,再将小任务的运算结果进行Join汇总。

5. 最大化减少空指针异常 – Optional

   是一个容器类,代表一个值存在或不存在,原来用null 表示一个值不存在,现在Optional 可以更好的表达这个概念。并且可以避免空指针异常。

6、ConcurrentHashMap

Jdk1.7时隔壁级别CocnurrentLevel(锁分段机制)默认为16。

JDK1.8采取了CAS算法

Jdk1.8没有永久区,取而代之的是MetaSpace元空间,用的是物理内存。

推荐阅读