📅  最后修改于: 2023-12-03 14:42:12.437000             🧑  作者: Mango
Java 12是Oracle公司发布的一款JDK版本,于2019年3月19日发布。Java 12的主要目标是提升JVM性能,增加开发人员生产力和改进安全性。下面将介绍Java 12的主要新特性:
Java 12给swtich语句添加了一个新特性,即可以使用作为表达式使用的switch语句。Switch表达式简化了代码并提高了可读性。
public int getMonthValue(Month month) {
int monthValue = switch (month) {
case JANUARY -> 1;
case FEBRUARY -> 2;
case MARCH -> 3;
case APRIL -> 4;
case MAY -> 5;
case JUNE -> 6;
case JULY -> 7;
case AUGUST -> 8;
case SEPTEMBER -> 9;
case OCTOBER -> 10;
case NOVEMBER -> 11;
case DECEMBER -> 12;
};
return monthValue;
}
Java 12简化了数字格式化工具的使用,提高了开发人员的生产率。
NumberFormat numberFormat = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
System.out.println(numberFormat.format(1000)); // 1K
System.out.println(numberFormat.format(5000)); // 5K
System.out.println(numberFormat.format(10000)); // 10K
System.out.println(numberFormat.format(500000)); // 500K
Java 12引入了新的HTTP API,提高了Web API客户端的安全性。
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.github.com/repos/openjdk/jdk/commits"))
.version(HttpClient.Version.HTTP_2)
.GET()
.build();
HttpResponse<String> response = HttpClient.newBuilder()
.build()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Java 12默认使用G1垃圾回收器,提高了对于超大堆应用程序的性能,同时也改进了低延迟应用程序的性能。
除了以上提到的新特性,Java 12还有一些其他的改进,比如:
更多Java 12的新特性详细介绍,请访问官方文档:What's New in JDK 12。