跳至正文
Wener Notes

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
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
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 条
最近更新commit 25ad4d4编辑