Java核心编程
上QQ阅读APP看书,第一时间看更新

1.2 现代Java新特性:从Java 8到Java 13

作为一门很受欢迎的编程语言,Java语言在经历了20多年的发展后,已然成为开发者首选的“利器”。之所以能保持在编程界不断受到开发者的热捧,一个非常重要的原因就是Java自身不断在进化,不管是从其他语言中汲取经验,还是从实际应用中挖掘新的需求,Java不断增强的新特性,简化致力于应用的开发,让应用运行更快、更稳定。

接下来,让我们一起看一下从Java 8以来各个版本发布的新特性。

1.2.1 Java 8新特性

Java 8包含了如下新特性:

· Lambdas表达式与Functional接口

· 接口的默认与静态方法

· 新增方法的调用方式

· 优化了HashMap以及ConcurrentHashMap

· 方法引用

· 重复注解

· 更好的类型推测机制

· 扩展注解的支持

· Optional类

· Stream API

· Date/Time API(JSR 310)

· 并行(parallel)数组

· 并发(Concurrency)改进

· 新增Nashorn

1.2.2 Java 9新特性

Java 9包含了如下新特性:

· 模块化系统

· Linking

· JShell

· 改进的Javadoc

· 集合工厂方法

· 改进的Stream API

· 私有接口方法

· HTTP/2

· 多版本兼容JAR

1.2.3 Java 10新特性

Java 10包含了如下新特性:

· 局部变量类型推断

· GC改进和内存管理

· 线程本地握手

· 备用内存设备上的堆分配

· 支持Unicode

· 基于Java的实验性JIT编译器

· 根证书

· 根证书颁发认证

· 删除javah工具

1.2.4 Java 11新特性

Java 11包含了如下新特性:

· 字符串加强

· 集合加强

· Stream加强

· HTTP Client API

· 运行源代码

· 支持Unicode 10

· 新增JShell

· 新增ZGC垃圾处理器

· 新增Epsilon垃圾处理器

1.2.5 Java 12新特性

Java 12包含了如下新特性:

· 短停顿时间的GC——Shenandoah

· 微基准测试套件

· Switch表达式增强

· 紧凑数字格式

· JVM常量API

· 保留一个AArch64实现

· 默认类数据共享归档文件

· 可中止的G1 Mixed GC

· G1及时返回未使用的已分配内存

1.2.6 Java 13新特性

Java 13包含了如下新特性:

· 动态类数据共享归档

· 增强ZGC以将未使用的堆内存返回给操作系统

· Socket API的重新实现

· Switch表达式增强

· 文本块

上面列出的只是部分特性,后续章节还将继续探讨这些特性的完整使用方式。