Java 12和13 新特性

Java12

String 增强

Java 12 增加了两个的字符串处理方法,如以下所示。

indent() 方法可以实现字符串缩进。

1
2
3
4
5
6
String text = "Java";
// 缩进 4 格
text = text.indent(4);
System.out.println(text);
text = text.indent(-10);
System.out.println(text);
阅读更多

Java 14和15 新特性

Java14

空指针异常精准提示

通过 JVM 参数中添加-XX:+ShowCodeDetailsInExceptionMessages,可以在空指针异常中获取更为详细的调用信息,更快的定位和解决问题。

1
a.b.c.i = 99; // 假设这段代码会发生空指针
阅读更多

Java 16 新特性

Java 16 在 2021 年 3 月 16 日正式发布,非长期支持(LTS)版本。

相关阅读:OpenJDK Java 16 文档

JEP 338:向量 API(第一次孵化)

向量(Vector) API 最初由 JEP 338 提出,并作为孵化 API集成到 Java 16 中。第二轮孵化由 JEP 414 提出并集成到 Java 17 中,第三轮孵化由 JEP 417 提出并集成到 Java 18 中,第四轮由 JEP 426 提出并集成到了 Java 19 中。

阅读更多

Java 17 新特性

Java 17 在 2021 年 9 月 14 日正式发布,是一个长期支持(LTS)版本。

下面这张图是 Oracle 官方给出的 Oracle JDK 支持的时间线。可以看得到,Java

17 最多可以支持到 2029 年 9 月份。

Java 17 将是继 Java 8 以来最重要的长期支持(LTS)版本,是 Java 社区八年努力的成果。Spring 6.x 和 Spring Boot 3.x 最低支持的就是 Java 17。

这次更新共带来 14 个新特性:

阅读更多

java21 新特性

JDK 21 于 2023 年 9 月 19 日 发布,这是一个非常重要的版本,里程碑式。

JDK21 是 LTS(长期支持版),至此为止,目前有 JDK8、JDK11、JDK17 和 JDK21 这四个长期支持版了。

JDK 21 共有 15 个新特性,这篇文章会挑选其中较为重要的一些新特性进行详细介绍:

阅读更多

java22-23 新特性

JDK 23 和 JDK 22 一样,这也是一个非 LTS(长期支持)版本,Oracle 仅提供六个月的支持。下一个长期支持版是 JDK 25,预计明年 9 月份发布。

由于 JDK 22 和 JDK 23 重合的新特性较多,这里主要以 JDK 23 为主介绍,会补充 JDK 22 独有的一些特性。

JDK 23 一共有 12 个新特性:

阅读更多

数据分区理论

分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集。

哈希算法

我们可能很快就想到了:哈希算法。因为对同一个关键字进行哈希计算,每次计算都是相同的值,这样就可以将某个 key 确定到一个节点了,可以满足分布式系统的负载均衡需求。

哈希算法最简单的做法就是进行取模运算,比如分布式系统中有 3 个节点,基于 hash(key) % 3 公式对数据进行了映射。

如果客户端要获取指定 key 的数据,通过下面的公式可以定位节点:

阅读更多