Java8新特性_简介

HashMap在jdk1.7和jdk1.8中区别

jdk1.7:数组+链表

jdk1.8:数组+链表+红黑树
当哈希碰撞即链表上个数大于8并且总容量个数大于64,链表转成红黑树

红黑树除了添加以外,其他(查询、删除)效率都比链表高
扩容后重排序,不用重新运算hashCode值,直接找对应元素在原来哈希表的总长度加上它当前所在哈希表的位置

HashSet,同理

ConcurrentHashMap

jdk1.7
并发级别:16
锁+段机制:默认16段,每段默认16表
段太多浪费空间,段太少导致每段元素过多效率遍地

jdk1.8
CAS
无锁算法
CAS是底层操作系统支持的算法,效率高

Java 8新特性简介

速度更快
代码更少(增加了新的语法Lambda表达式)
强大的Stream API
便于并行
最大化减少空指针异常 Optional

猜你喜欢

转载自blog.csdn.net/m0_51945027/article/details/119962222