JDK 9 - 模块化系统(Project Jigsaw)
JDK 9引入了Java平台模块系统(JPMS),这是Java历史上最具争议但也最重要的变化之一:
module my.module {
requires java.base;
requires java.logging;
exports com.mycompany.mypackage;
}
模块化系统带来的好处:
- 更强的封装性
- 明确的依赖关系
- 更小的运行时镜像
- 提高安全性
JDK 10 - 局部变量类型推断
引入var关键字简化局部变量声明:
// JDK 10之前
List<String> names = new ArrayList<String>();
// JDK 10之后
var names = new ArrayList<String>();
JDK 11 - 长期支持版本
JDK 11是继JDK 8之后的第一个长期支持(LTS)版本,引入了一些实用特性:
- HTTP Client标准化
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
- 字符串增强方法
" ".isBlank(); // true
"Java".repeat(3); // "JavaJavaJava"
" Java ".strip(); // "Java"
