JDK18 新特性详解,2022-03-22 正式发布
JDK18
Java 开发工具包 (JDK) 18 将于 2022 年 3 月 22 日发布。新版本的标准 Java 将有九个新特性,该特性集已于 12 月 9 日冻结,进入Rampdown第一阶段 。
值得注意的是:JDK 17 是一个长期支持 (LTS) 版本,将获得 Oracle 至少八年的支持,但 JDK 18 将是一个短期功能版本,只支持六个月。
可以在java.net 上找...
2019-02-27 07:48:49 |
Java
JDK17 新特性详解,2021-09-14 正式发布
switch 新增模式(预览版)
使用 switch 表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。
将模式匹配扩展到 switch 允许针对多个模式测试表达式,每个模式都有特定的操作,以便可以简洁安全地表达复杂的面向数据的查询。
基于 JDK16 instanceof 模式匹配(最终版)优化升级 switch 使用方法,先回忆下JDK16 模式匹配(最终版)
...
2019-02-27 07:48:49 |
Java
JDK16 新特性详解,2021-03-17 正式发布
Record(最终版)
这个功能之前在 jdk14(预览版)、jdk15(预览版)已经描述过了,自我感觉没有找到它的用处… 在接口提供数据展示的时候倒可以用一用,如:
活动实体表(正常线上会有很多字段的,简写了):
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Activity {
private int i...
2019-02-27 07:48:49 |
Java
JDK15 新特性详解,2020-09-15 正式发布
在 CharSequence 中添加了 isEmpty 默认方法
定义isEmpty用于测试字符序列是否为空的默认方法,CharSequence::isEmpty可以用作方法参考。
实现的类java.lang.CharSequence和定义isEmpty方法的另一个接口应注意这一点,因为可能需要对其进行修改以覆盖isEmpty方法。
支持 Unicode 13.0
此版本将Unico...
2019-02-27 07:48:49 |
Java
JDK14 新特性详解,2020-03-17 正式发布
预览版:该功能在当前版本可以使用,如果效果不是很好的话,可能以后的其他版本就会删去该功能。
最终版:该功能在之前版本效果很好,之后的每个版本中都会存在该功能。
Switch(最终版)
和之前的 jdk12、13 功能一样,只不过确定下来为最终版
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUND...
2019-02-27 07:48:49 |
Java
JDK13 新特性详解,2019-09-17 正式发布
switch 优化更新(预览版)
什么是预览版,也就是说当前版本有这个功能,下一个版本不确定会有,如果该功能效果不是很好,会被下一版本移除该功能。
JDK11 以及之前的版本
switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:
System.out.println(6);
...
2019-02-27 07:48:49 |
Java
JDK12 新特性详解,2019-03-19 正式发布
JDK12 之 Shenandoah 低暂停时间垃圾收集器(实验性)
定义:
添加一个名为Shenandoah的新垃圾收集(GC)算法,通过与正在运行的Java线程同时进行疏散工作来减少GC暂停时间。
使用Shenandoah的暂停时间与堆大小无关,这意味着无论堆是200MB还是200GB,都将具有相同的一致暂停时间。
非目标:
这不是一个统治所有人的GC。
还有其他垃圾收集算法...
2019-02-27 07:48:49 |
Java
JDK11 新特性详解,2018-09-25正式发布
增强局部变量类型推断var
Consumer<String> consumer = t -> System.out.println(t.toUpperCase());
Consumer<String> consumer = (var t) -> System.out.println(t.toUpperCase());
//错误的形式:必须要有类型,可以...
2019-02-27 07:48:49 |
Java