基于jdk17和SpringBoot3搭建项目

197 阅读1分钟

1、为什么用jdk17,对比常用jdk8有哪些升级?

  • ZGC垃圾回收器,性能提升

  • 可以使用 var 作为局部变量类型推断标识符

var value = new MyObject();
  • switch 使用起来更加简洁,可以不用再break了。
    Object obj = "test";
    switch (obj) {
    
        case String s && s.length() > 0 -> s;
        
        default -> "";
    }

将冒号(:)替换为箭头(->),并且switch表达式默认不会失败,所以不需要break。

  • instanceof 增强

  • 增加不可修改的数据类 record Records的目标是扩展Java语言语法,Records为声明类提供了一种紧凑的语法,用于创建一种类中是“字段,只是字段,除了字段什么都没有”的类。

通过对类做这样的声明,编译器可以通过自动创建所有方法并让所有字段参与hashCode()等方法。

record Person (String firstName, String lastName) {}

record 解决了使用类作为数据包装器的一个常见问题。纯数据类从几行代码显著地简化为一行代码。

  • Text Blocks文本块

在Java17之前的版本里,如果我们需要定义一个字符串,比如一个JSON数据,基本都是如下方式定义:

public void lowVersion() {
    String text = "{\n" +
        "  \"name\": \"Hello Java\",\n" +
        "  \"age\": 18,\n" +
        "  \"address\": \"天津滨海新区\"\n" +
        "}";
    System.out.println(text);
}

2、搭建项目

2.1 IDEA中可以直接下载安装jdk17

image.png