java8新特性
1.速度更快
2.代码更少(增加了Lambda表达式)
3.强大的 Steam API
4.便于并行
5.最大化减少空指针异常 Optional
1.速度快:
对于底层数据结构进行了改变
1.HashMap:数组+链表
JAVA8:数组+链表+红黑书
2.ConcurrentHashMap
对于底层内存结构进行了改变
MetaSpace元空间 取代永久区 ,直接使用的是物理内存的大小,降低了垃圾回收的概率,提升了效率。
OOM内存溢出概率也会降低,永久区相应JVM调优参数也将去掉,取而代之的是metaspace相关的参数
为什么使用lamdba表达式
Lambda是一个匿名函数,可以把lamdba表达式理解为一段可以传递的代码(将代码想数据一样进行传递)。可以写出
更简洁、更灵活的代码。作为一个更紧凑的代码风格,使JAVA的语言表达能力得到了提升。
/**
* 匿名内部类中的用法
*/
public class TestLambda {
public static void main(String[] args) {
// 匿名内部类写法
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1,o2);
}
};
// Lambda写法
Comparator<Integer> comparator1 = (o1,o2)->Integer.compare(o1,o2);
}
}
网友评论