JAVA8新特性、lambda表达式

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 comparator = new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return Integer.compare(o1,o2);
            }
        };

        // Lambda写法
        Comparator comparator1 = (o1,o2)->Integer.compare(o1,o2);

    }

}

你可能感兴趣的:(JAVA8新特性、lambda表达式)