美文网首页
JAVA8新特性、lambda表达式

JAVA8新特性、lambda表达式

作者: MrL槑槑 | 来源:发表于2018-07-09 09:33 被阅读0次

    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);
    
        }
    
    }
    

    相关文章

      网友评论

          本文标题:JAVA8新特性、lambda表达式

          本文链接:https://www.haomeiwen.com/subject/yjlzuftx.html