---------Lambda表达式-----------
用Lambda表达式来表示一个方法,由三部分组成的:
参数列表,箭头(->),以及一个表达式块。
(int x, int y) ->{ x + y; }
---------函数式接口-----------
只包含一个抽象方法的接口,称为函数式接口
---------Stream-----------
1、map-映射
List<String> list = Arrays.asList("aaa", "bbb", "ccc", "ddd");
map m= list.stream()
.map((str) -> str.toUpperCase())
.forEach(System.out::println);
---------1-----------
---------1-----------
---------1-----------
---------1-----------
---------1-----------
---------并行流与Fork/join框架-----------
并行执行的流,通过默认的ForkJoinPool,可以提高多线程任务的执行速度。
Stream并行流处理的过程会分而治之,也就是将一个大任务切分成多个小任务,可能会出现线程安全问题了。
?线程安全?
1)子逻辑业务放入synchronized同步语句块
Fork/Join框架?
Fork/Join框架,该框架自1.7开始引入
Fork/Join主要包含三部分:
1)线程池:ForkJoinPool
2)任务对象:ForkJoinTask
3)执行任务的线程:ForkJoinWorkerThread
---------抽象类 和 接口的 异同?-----------
jdk7:接口只有常量和抽象方法,无构造器
jdk8:接口增加了 默认方法 和 静态方法,无构造器
jdk9:接口允许 以 private 修饰的方法,无构造器