新的JDK 19包含如下7个新的特性:

转自:JDK19中比较重要的新特性-电子发烧友网

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

JDK 19新特性 & JDK 多版本安装切换配置的更多相关文章

  1. Java Stream 流(JDK 8 新特性)

    什么是 Steam Java 8 中新增了 Stream(流)来简化集合类的使用,Stream 本质上是个接口,接口中定义了很多对 Stream 对象的操作. 我们知道,Java 中 List 和 S ...

  2. Java lambda 表达式详解(JDK 8 新特性)

    什么是 lambda 表达式 lambda 表达式(拉姆达表达式)是 JAVA 8 中提供的一种新的特性,它使 Java 也能进行简单的"函数式编程". lambda 表达式的本质 ...

  3. ActiveReports 报表控件V12新特性 -- 可定制的安装设置

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  4. [转]【JVM】调优笔记2-----JVM在JDK1.8以后的新特性以及VisualVM的安装使用

    [From]https://www.cnblogs.com/sxdcgaq8080/p/7156227.html               隔壁的,加个引用做书签! [JVM]调优笔记2-----J ...

  5. JDK 8 新特性

    JDK 8, Oracle's implementation of Java SE 8. JDK 8 是 Oracle 对 Java SE 8 规范的实现. 本文分析 JDK 8 引入的新特性. 官方 ...

  6. JDK的新特性

    JDK5新特性 a,自动拆装箱 b,泛型 c,可变参数 d,静态导入 e,增强for循环 f,互斥锁 g,枚举 JDK7新特性 * A:二进制字面量 * B:数字字面量可以出现下划线 * C:swit ...

  7. 【软件配置】JDK+AndroidStudio4.1开发安卓APP环境安装和配置教程详细

    目录 一.专业名词 二.搭建前资源准备 2.1 JDK资源下载 2.2 AndroidStudio下载 三.安装 3.1 JDK安装配置 3.2 AndroidStudio安装 四.创建安卓APP工程 ...

  8. java环境--JDK和Tomcat在linux上的安装和配置

    Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK ...

  9. 你需要了解的 C++ 17 Top 19 新特性(附精彩评论)

    什么是 C++17? C++17(或 C++1z)是继 C++14 之后 C++ 编程语言 ISO/IEC 标准的下一次修订的非正式名称.C++17 现在功能已齐全,正在成为国际标准的路上.它的规范已 ...

  10. (新)elasticsearch6.0版本安装head插件

    ES6.0版本安装head插件 1.1 前言 不知道是我电脑问题还是最近的开源软件都比较**,mysql和elasticsearch新版本变动都比较大. elasticsearch6.0貌似已经不支持 ...

随机推荐

  1. 使用 maven 的 `wagon-maven-plugin`插件 快速部署 到不同的 环境

    profile 在pom文件中配置 开发和测试环境的 profile信息, <profiles> <profile> <!-- 开发环境 --> <id> ...

  2. Java --- 多线程 创建线程的方式四: 使用线程池

    1 package bytezero.thread2; 2 3 import java.security.Provider; 4 import java.util.concurrent.Executo ...

  3. JVM解析

    synize锁升级

  4. powershell配置自动补全

    powershell配置自动补全 一.需求: 看到老师上课用mac命令行有自动补全功能,发现真的爽.但是自己的windows powershell不能使用自动补全功能.有了需求,就想找到能完成目前的任 ...

  5. 使用C#创建服务端Web API

    前言 C# Web API 是一种基于 .NET 平台(包括但不限于.NET Framework 和 .NET Core)构建 HTTP 服务的框架,用于创建 RESTful Web 服务.REST( ...

  6. 本地画板工具 Axure RP 9 顶替 drawio (补充Axure RP 8)

    本地画板工具 Axure RP 9 顶替 drawio 外链:https://wws.lanzoul.com/b03paemkf 密码:dmvj 9这个版本 win7 不支持 Axure RP 8 h ...

  7. vim没有clipboard,没法复制到系统剪切板,通过xclip将复制、删除的内容放到系统剪切板

    解决方法:在/etc/vim/vimrc 或者 ~/.vimrc 中添加下面的命令 au TextYankPost * exe system("xclip -selection clipbo ...

  8. 求给定两个排序好的数组中第k大的数

    这个问题比求两个长度相等的排序数组的上中位数难度要高一点,难就难在不是求中位数了,但是我们要学会举一反三,可以尝试通过分析将求第k大的数转化为求中位数.将数组中不可能的数排除,在剩下可能的数中求中位数 ...

  9. 全国标杆!3DCAT实时云渲染助力深圳移动5G+智慧校园建设

    2023年2月27日,中国移动在陕西西安召开全国教育行业全年工作部署暨电子学生证专项调度会,来自全国各地的移动分公司.专家.合作伙伴等参加了会议.瑞云科技旗下3DCAT实时渲染云作为中国移动的重要合作 ...

  10. 【Unity 3D游戏开发】在Unity使用NoSQL数据库方法介绍

    随着游戏体积和功能的不断叠加,游戏中的数据也变得越来越庞杂,这其中既包括玩家产生的游戏存档等数据,例如关卡数.金币等,也包括游戏配置数据,例如每一关的配置情况.尽管Unity提供了PlayerPref ...