Java8/9

Java8 新增了非常多的特性,我们主要讨论以下几个:
新特性
Lambda 表达式 ? Lambda 允许把函数作为一个方法的参数
(函数作为参数传递到方法中)。
方法引用 ? 方法引用提供了非常有用的语法可以直接引用已有Java类或对象
(实例)的方法或构造器。
与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
默认方法 ? 默认方法就是一个在接口里面有了一个实现的方法。
新工具 ? 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
Stream API ?新添加的Stream API(java.util.stream)把真正的函数式
编程风格引入到Java中。
Date Time API ? 加强对日期与时间的处理。
Optional 类 ? Optional 类已经成为 Java 8 类库的一部分用来解决空指针异常。
Nashorn, JavaScript 引擎 ? Java 8提供了一个新的Nashorn javascript引擎
它允许我们在JVM上运行特定的javascript应用。

Java 9 包含了丰富的特性集。虽然Java 9没有新的语言概念,
但是有开发者感兴趣的新的API和诊断命令。
ava 9中主要的变化是已经实现的模块化系统。
模块化的引入使得JDK可以在更小的设备中使用。
采用模块化系统的应用程序只需要这些应用程序所需的那部分JDK模块,
而非是整个JDK框架了。模块化系统也可以将公共的类封装到一个模块中。
因此一个封装在模块中的定义为public的类不能再任何地方使用,
除非一个模块显式的定义了这个模块。由于Java 9的这个变化
Java内部的API(例如com.sun.*)默认情况下是不能使用的。

原文地址:https://www.cnblogs.com/cxiaojie/p/11844785.html