Java最近几年突飞猛进,虽然还是有很多人在使用老旧的jdk8,但是新版本已经把很多号称取代java的新玩具摔在了后面。就在近日,jdk17已经正式发布了,更新了很多比较实用的新特性,其中包括更改、增强、删除的 API 和功能、弃用的API功能等等,现在允许应用程序通过JVM范围的过滤器工厂配置特定于上下文和动态选择的反序列化过滤器。此外,还使用Apple Metal API以替代使用被弃用的OpenGL API的现有管道,致力于为用户带来最佳的使用感受,有兴趣的小伙伴们可以前来下载体验。
特点介绍
恢复始终严格的浮点语义
增强型伪随机数发生器
新的 macOS 渲染管线
macOS/AArch64 端口
弃用 Applet API 以进行删除
强封装JDK内部
开关模式匹配(预览)
删除 RMI 激活
密封类
删除实验性 AOT 和 JIT 编译器
弃用要删除的安全管理器
外部函数和内存 API(孵化器)
Vector API(第二孵化器)
上下文特定的反序列化过滤器
JDK17安装教程及环境配置
1、双击安装包开始安装。
2、点击下一步。
3、更改安装路径,点击下一步(注:安装路径不要出现中文、空格等其它特殊符号)。
4、正在安装中。
5、安装完成,点击关闭。
6、Win+Q搜索环境变量,点击编辑系统环境变量。
7、点击环境变量。
8、在系统变量中点击新建。
9、在新建的环境变量中输入以下内容,然后点击确定。
变量名:JAVA_HOME
变量值:D:\Java\jdk-17 (变量值是JDK的安装路径)
10、进入Path变量,在变量中新建一个变量。
11、变量输入【%JAVA_HOME%\bin】,点击确定。
12、Win+R输入cmd回车进入命令控制台。
13、在命令控制台中输入java -version,若出现JDK的版本号则配置成功!如下图所示。
jdk17新特性
更新了包括14个特性,具体如下表所示:
恢复始终严格模式(Always-Strict)的浮点语义
增强型伪随机数生成器
新增macOS渲染管道
支持将JDK移植到macOS或AArch64
弃用待移除的Applet API
注:JDK 9中的JEP 289先前已弃用Applet API,但并未将其删除。
强封装JDK内部API
switch模式匹配进入预览(Preview)阶段
移除RMI(远程方法调用)激活机制
密封类
注:密封类是由JEP 360提出的,并在JDK 15中作为预览功能提供。它们由JEP 397再次提出并进行了改进,并作为预览功能在JDK 16中提供。该JEP建议在JDK17中完成密封类,与JDK 16没有任何变化。
移除实验性AOT和JIT编译器
弃用待移除的安全管理器(Security Manager)
注:弃用安全管理器,在后续版本中移除。安全管理器可追溯到Java 1.0。多年来,它一直不是保护客户端Java代码的主要手段,也很少用于保护服务器端代码。为了推动Java向前发展,Oracle打算弃用安全管理器,以便与旧Applet API(JEP 398)一起删除。
外部函数和内存API(孵化器)孵化阶段
注:Java程序可以通过该API与Java运行时之外的代码和数据进行互操作。通过有效调用外部函数(即JVM之外的代码),以及安全地访问外部内存(即不由JVM管理的内存),API使Java程序能够调用本地库和处理本地数据,而没有JNI。
Vector API(第二孵化器)第二孵化阶段
注:引入一个API来表达向量计算,这些计算在运行时可靠地编译为支持的CPU架构上的最佳向量指令,从而实现优于等效标量计算的性能。
上下文特定的反序列化过滤器
注:允许应用程序通过JVM范围的过滤器工厂配置特定于上下文和动态选择的反序列化过滤器,该工厂被调用以为每个单独的反序列化操作选择一个过滤器。
































共有 0条评论