JDK 19新特性 & JDK 多版本安装切换配置
新的JDK 19包含如下7个新的特性:
JEP 405: Record Patterns(Record模式)
JEP 422: Linux/RISC-V Port(Linux/RISC-V移植)
JEP 424: Foreign Function & Memory API(外部函数和内存API)
JEP 425: Virtual Threads(虚拟线程)
JEP 426: Vector API(向量API)
JEP 427: Pattern Matching for switch(switch模式匹配)
JEP 428: Structured Concurrency(结构化并发)
405:记录模式(预览阶段)
Record Patterns可对Record的值进行解构,通过嵌套Record模式和Type模式能够实现强大的、声明性的、可组合的数据导航和处理形式。
该特性目前处于预览阶段。
424: 外部函数和内存API(预览阶段)
Java程序可以通过该API与Java运行时之外的代码和数据进行互操作。
通过高效地调用外部函数(即JVM之外的代码)和安全地访问外部内存(即不受JVM 管理的内存),该API使Java程序能够调用本机库并处理本机数据,而不会像JNI那样危险和脆弱。
一句话总结就是该特性让Java调用普通native代码更加方便和高效。
425:虚拟线程(预览阶段)
新版本同样为Java引入了虚拟线程,虚拟线程是JDK实现的轻量级线程,它在其他多线程语言中已经被引入并且也证实了十分有用,比如Go中的Goroutine、Erlang中的进程等等。
虚拟线程可以避免上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量。
426:向量API(第四次孵化)
向量计算是由对向量的一系列操作而组成。向量API用来表达向量计算,而该计算可以在运行时可靠地编译为支持的CPU架构上的最佳向量指令,从而实现优于等效标量计算的性能。
向量API的目标是为用户提供简洁易用且与平台无关的表达范围广泛的向量计算。
427:switch模式匹配(第三次预览)
switch模式匹配最早曾在Java 17中就以预览功能的形式引入,即支持用switch表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。
更通俗一些说,也就是支持将模式匹配扩展到switch中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。
428:结构化并发(孵化阶段)
JDK 19引入了结构化并发,这是一种多线程编程方法,目的是为了通过结构化并发API来简化多线程编程,但需要注意的是这并不是为了取代java.util.concurrent,同时该功能目前也处于孵化阶段。
结构化并发将不同线程中运行的多个任务视为单个工作单元,从而简化错误处理、提高可靠性并增强可观察性。也就是说,结构化并发保留了单线程代码的可读性、可维护性和可观察性。
以上就是此次JDK更新的一些简要总结和梳理,可以看到其中大部分都是孵化特性和预览特性,看来很多特性功能都得在后面发布的LTS版中才能正式转正了。
审核编辑:刘清
===========================多版本JDK安装与切换测试===============
多个版本JDK切换
多个JDK:JDK17、JDK19、JDK1.8轻松切换(无坑版)小白也可以看懂
提示:看了网上很多教程,5w观看、32w观看、几千观看的,多多少少带点坑,这里我就把踩过的坑都给抹了
文章目录
多个版本JDK切换
一、JDK下载
二、安装
以前JDK怎么安装,其他就怎么安装
三、配置
1、删Path变量
2、给Path添加变量
3、创建系统变量
3.1、创建 CLASSPATH
3.2、创建 JAVA_HOME
3.3、创建 JAVA_HOME17
3.4、创建 JAVA_HOME19
3.5、创建 JAVA_HOME8
切换版本测试
总结
提示:已知 JDK1.8 和 JDK17,是长期 且免费版本
一、JDK下载
jdk17下载:https://www.oracle.com/java/technologies/downloads/#jdk17-windows
jdk1.8下载:https://www.oracle.com/java/technologies/downloads/#java8-windows
注意上边下载均为:windows.exe版本
二、安装
以前JDK怎么安装,其他就怎么安装
当然为了不必要的麻烦都扔在默认路径即可:C:\Program Files\Java
三、配置
1、删Path变量
在安装JDK的时候,JDK会给我们的Path变量添加 变量
列如(敲黑板——————看这里)
C:\Program Files\Common Files\Oracle\Java\javapath
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
安装一次,就会生成一条这样的变量,那就把他们都删掉
防止咱们切换失败
2、给Path添加变量
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
图示
最后安装完所有需要的JDK以后,Path变量是这样的
3、创建系统变量
3.1、创建 CLASSPATH
注意这个 . 很重要
变量名: CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
全行复制哦↑
CLASSPATH变量 图示
3.2、创建 JAVA_HOME
变量名:JAVA_HOME
变量值:%JAVA_HOME17% 或者 %JAVA_HOME8%
修改此处变量值中的数字来达到启用所对应的jdk
图示
3.3、创建 JAVA_HOME17
变量名:JAVA_HOME17
变量值:C:\Program Files\Java\jdk-17.0.5 自己安装的jdk17路径
3.4、创建 JAVA_HOME19
变量名:JAVA_HOME19
变量值:C:\Program Files\Java\jdk-19 自己安装的jdk19路径
3.5、创建 JAVA_HOME8
变量名:JAVA_HOME8
变量值:C:\Program Files\Java\jdk1.8.0_291 自己安装的jdk1.8路径
图示
切换版本测试
打开环境变量
修改JAVA_HOME 变量:
使用JDK19 :JAVA_HOME19
使用JDK17 :JAVA_HOME17
使用JDK1.8: JAVA_HOME8
分别打开三次cmd,窗口(不然会一直显示第一个哦)
图示
打开一次cmd窗口 测试 JDK19
打开一次cmd窗口 测试 JDK17
打开一次cmd窗口 测试 JDK1.8
总结
归结起来,很简单(祝你越来越厉害)
原文链接:https://blog.csdn.net/aaxzsuj/article/details/128122537