zoukankan      html  css  js  c++  java
  • 《Java 8 实战》读书笔记

    新特性:

    1,流处理

    Java 8 在java.util.stream中添加了一个Stream API; Stream<T>就是一系列T类型的项目,也可以看作一个迭代器。Stream API的很多方法可以链接起来形成一个复杂的流水线。

    2,用行为参数化把代码传递给方法

    Java 8 增加了把方法作为参数传递给另一个方法的能力。

    3,方法引用---::

    Before Java 8:

    File[] hiddenFiles = new File(".").listFiles(new FileFilter() {
        public boolean accept(File file) {
            return file.isHidden();
        }
    })

    After Java 8:

    File[] hiddenFiles = new File(".").listFile(File::isHidden);

    方法引用::把这个方法作为值传递给ListFiles方法。

    4,Lamda---匿名函数

    (int x) -> x+1 表示调用给定参数x,就返回x+1的值。

    5, 默认方法

    接口中的方法主体由接口提供,而不是实现类提供。Java 8 在接口声明中使用default关键字来表示这一点。

    例如,在Java 8里,可以直接对List调用sort方法。它是用Java 8 List接口中的默认方法实现的:

    Interface List<E> {
    
       default void sort(Comparator<? super E> c) {
             Collections.sort(this,c);
        }
    }

    6, 并行

    一般集合处理(根据标准筛选数据,提取数据或给数据分组)常常可以并行化,在两个CPU上筛选列表,可以让一个CPU处理列表的前一半,第二个CPU处理后一半,这成为分支步骤(1)。CPU随后对各自的半个列表作筛选(2)。最后, 一个CPU把两个结果合并起来(3)。

    7,Optional类

    可以避免NullPointerException

  • 相关阅读:
    yocto/bitbake 学习资源
    QEMU/KVM学习资源
    ubuntu 中创建和删除用户
    git 重命名本地和远程分支
    Ubuntu 上搭建 FTP 服务器
    gdb 常见用法
    git log 显示与特定文件相关的 commit 信息
    基于 qemu system mode 运行 arm 程序
    基于 qemu user mode 运行 aarch64 程序
    checking in(airport)
  • 原文地址:https://www.cnblogs.com/IvySue/p/6732181.html
Copyright © 2011-2022 走看看