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元空间,用的是物理内存。