Java 7
约 1 分钟阅读
- Released: 2011-07-28
- Codename: Dolphin
核心总结
- Java SE 7 Dolphin。Project Coin、NIO.2、Fork/Join、invokedynamic、try-with-resources、switch string、multi-catch。
语言 / Project Coin
- switch on String。
- try-with-resources 与 AutoCloseable。
- Diamond operator。
- multi-catch 与更精确的 rethrow。
- 数字字面量下划线和二进制字面量。
核心库/虚拟机
- NIO.2:Path、Files、WatchService、异步文件通道、文件属性 API。
- Fork/Join Framework:RecursiveTask/RecursiveAction 与 ForkJoinPool。
- invokedynamic:动态语言支持,也是后续 Lambda 实现的重要基础。
- Objects、try-with-resources 相关 AutoCloseable 等基础 API。
总结
- Java 7 是 Java 8 前的铺垫版本:Project Coin 改善语法,NIO.2 和 Fork/Join 补齐库能力,invokedynamic 为 JVM 语言生态打开空间。
示例
try-with-resources、multi-catch、switch string
java.nio.file.Path path = java.nio.file.Paths.get("app.log");
try (java.io.BufferedReader in = java.nio.file.Files.newBufferedReader(path)) {
switch (in.readLine()) {
case "start":
System.out.println("started");
break;
default:
System.out.println("unknown");
}
} catch (java.io.IOException | IllegalArgumentException e) {
e.printStackTrace();
}NIO.2 与 Fork/Join
java.nio.file.Path path = java.nio.file.Paths.get("app.log");
long size = java.nio.file.Files.size(path);
java.util.concurrent.ForkJoinPool pool = new java.util.concurrent.ForkJoinPool();References
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Java 版本笔记 · Java 7
自 Java 9 · 每 6 个月一个版本 · 每 2 年一个 LTS - 每 4 个版本 · Java 11 - Java 17 隔了 3 年, 之后为每隔两年 · Java JEP 与版本变化 · 参考 · Java version history
- Java JEP 与版本变化笔记 · 7
资料来源以 OpenJDK JDK Project 页面和 JEP 页面为主。Java 5–7 主要按 JSR/项目整理;JDK 8 起按代表性 JEP 整理;JDK 10 起列出该版本项目页 Features 中的全部 JEP。 · | 状态 | 含义 | 使用建议 |
参考资料
其他外链6 条
- jcp.org/en/jsr/detail?id=203jcp.org/en/jsr/detail?id=203
- jcp.org/en/jsr/detail?id=292jcp.org/en/jsr/detail?id=292
- jcp.org/en/jsr/detail?id=334jcp.org/en/jsr/detail?id=334
- jcp.org/en/jsr/detail?id=336jcp.org/en/jsr/detail?id=336
- openjdk.org/projects/coinopenjdk.org/projects/coin
- openjdk.org/projects/jdk7/featuresopenjdk.org/projects/jdk7/features