Java14安装

jdk最新版本

截止目前,jdk版本已经更新到14

jdk14新特性

https://openjdk.java.net/projects/jdk/14/ --openjdk网站我们可以看到有以下16大特性

305:	Pattern Matching for instanceof (Preview)
343:	Packaging Tool (Incubator)
345:	NUMA-Aware Memory Allocation for G1
349:	JFR Event Streaming
352:	Non-Volatile Mapped Byte Buffers
358:	Helpful NullPointerExceptions
359:	Records (Preview)
361:	Switch Expressions (Standard)
362:	Deprecate the Solaris and SPARC Ports
363:	Remove the Concurrent Mark Sweep (CMS) Garbage Collector
364:	ZGC on macOS
365:	ZGC on Windows
366:	Deprecate the ParallelScavenge + SerialOld GC Combination
367:	Remove the Pack200 Tools and API
368:	Text Blocks (Second Preview)
370:	Foreign-Memory Access API (Incubator)

下面我们就常用到的特性改变举例看一下
1.305: Pattern Matching for instanceof (Preview) instanceof新特性

//以前我们是这么使用的
if (obj instanceof String) {
    String s = (String) obj;
    // use s
}

//新特性我们可以这么使用,即将强制转换类型绑定给变量,但变量只能在true块中使用
if (obj instanceof String s) {
    // can use s here
} else {
    // can't use s here
}
if (!(obj instanceof String s)) {
    // can't use s here
} else {
    // can use s here
}

//可以在&&后使用, 但不能在||后使用
if (obj instanceof String s && s.length > 10) {
    // can use s here
}

2.359: Records (Preview) 记录类型

import static java.util.Calendar.*;

//有望替代lombok
public class Test {
    public record User(int x, int y) {
    }

    public static void main(String[] args) {
        User user = new User(1, 2);
        System.out.println(user.x);
        System.out.println(user.y);

    }
}

3.361: Switch Expressions (Standard) switch语法形式改变

import static java.util.Calendar.*;

public class Test {
    public static void main(String[] args) {
        formatWeek(0);
        formatWeek(1);
        formatWeek(2);
        formatWeek(3);
        formatWeek(4);
        formatWeek(5);
        formatWeek(6);

        System.out.println(formatWeek2(5));
        System.out.println(formatWeek2(6));
    }

    public static void formatWeek(int day) {
        switch (day) {
            case MONDAY -> System.out.println("MONDAY");
            case TUESDAY -> System.out.println("TUESDAY");
            case WEDNESDAY -> System.out.println("WEDNESDAY");
            case THURSDAY -> System.out.println("THURSDAY");
            case FRIDAY -> System.out.println("FRIDAY");
            case SATURDAY -> System.out.println("SATURDAY");
            case SUNDAY -> System.out.println("SUNDAY");
        }
    }

    public static String formatWeek2(int day) {
        String str = switch (day) {
            case MONDAY -> "MONDAY";
            case TUESDAY -> "TUESDAY";
            case WEDNESDAY -> "WEDNESDAY";
            case THURSDAY -> "THURSDAY";
            case FRIDAY -> "FRIDAY";
            case SATURDAY -> "SATURDAY";
            case SUNDAY -> "SUNDAY";
            default -> "NONE";
        };
        return str;
    }
}

4.368: Text Blocks (Second Preview) 文本块

//old
String html = "<html>\n" +
              "    <body>\n" +
              "        <p>Hello, world</p>\n" +
              "    </body>\n" +
              "</html>\n";
//new 
String html = """
              <html>
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;

jdk14的安装

macOS安装

下载最新的jdk-14.0.1_osx-x64_bin.dmg包, https://www.oracle.com/java/technologies/javase-jdk14-downloads.html
按步骤安装即可,自动配置环境变量,安装完java -version 查看显示版本号即安装成功

linux安装

下载最新的jdk-14.0.1_linux-x64_bin.tar.gz包

解压包

cd /usr
mkdir java
cd java
#将.tar.gz包拷贝到java目录
tar zxvf jdk-14.0.1_linux-x64_bin.tar.gz 

配置环境变量

在/etc/profile配置文件里追加以下配置即可

export JAVA_HOME=/usr/java/jdk-14.0.1
export PATH=$JAVA_HOME/bin:$PATH

java -version 查看显示版本号即安装成功

### 安装 Java 14 的指南 对于希望安装特定版本的 Java 用户来说,官方文档和其他社区资源提供了详细的指导。针对 Ubuntu 系统,可以采用如下方法来安装 Java 14。 #### 使用 APT 获取官方包 Ubuntu 和其他基于 Debian 的发行版可以通过其默认软件源获取多种不同版本的 OpenJDK 软件包。然而,在某些情况下可能需要手动添加 PPA 或者下载 Oracle JDK 来获得最新发布的版本如 Java 14。 为了确保能够访问最新的更新和支持,建议优先考虑使用官方支持的方法: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 接着添加 Azul Systems 提供的一个稳定可靠的第三方仓库,该仓库包含了多个版本的 Zulu Community Edition (ZCE),其中包括了 Java 14: ```bash wget https://repos.azul.com/azure-only/zulu/debian/pool/main/a/azul-zulu-14/ sudo dpkg -i azul-zulu-14*.deb sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C5 echo 'deb http://repos.azul.com/azure-only/zulu/debian stable main' | sudo tee /etc/apt/sources.list.d/azul.list ``` 完成上述操作之后再次刷新本地索引并安装所需的 Java 版本: ```bash sudo apt-get update sudo apt-get install zulu14-jdk ``` 最后一步是为了设置 `JAVA_HOME` 变量以便于后续的应用程序调用正确版本的 JVM。这通常涉及到编辑 `/etc/environment` 文件或者用户的 shell 配置文件(比如 `.bashrc`,`.zshrc`),并将下面这一行加入其中: ```bash export JAVA_HOME=/usr/lib/jvm/zulu14-ca-amd64 ``` 请注意路径可能会有所不同取决于实际安装位置;可通过命令 `update-alternatives --config java` 查看当前可用的选择以及它们对应的完整路径[^1]。 #### 验证安装成功与否 一旦完成了以上步骤,则应该验证新安装是否正常工作: ```bash java -version javac -version ``` 如果一切顺利的话,这两个命令都应该返回有关所选版本的信息而没有任何错误消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值