| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> JDK16你必须了解的新特性 -> 正文阅读 |
|
[Java知识库]JDK16你必须了解的新特性 |
Pattern Matching for instanceof instanceof的模式匹配instanceof的模式匹配从JDK14进入孵化,到JDK16正式转正。 Recordsrecords从JDK14引入预览版到JDK16转正。 Elastic Metaspace弹性的元空间,可以帮助 HotSpot 虚拟机,将元空间中未使用的 class 元数据内存更及时地返回给操作系统,以减少元空间的内存占用空间。 ZGC: Concurrent Thread-Stack Processing这个版本则是为了让 ZGC 支持并发栈处理,解决了最后一个重大瓶颈,把 ZGC 中的线程栈处理从安全点移到了并发阶段。并且还提供了一种机制,使得其他 HotSpot 子系统可以通过该机制延迟处理线程栈。 ? ? Strongly Encapsulate JDK Internals by Default默认对 JDK 内部进行强封装JDK 内部默认强封装,JDK 16 开始对 JDK 内部大部分元素默认进行强封装限制对它们的访问,sun.misc.Unsafe 之类的关键内部 API 除外。鼓励开发人员从直接使用内部元素逐渐迁移为使用标准API,这样开发人员和最终用户都可以轻松地升级到 Java 的未来版本。 这个特性是从JDK9模块化功能推出了后就一直存在,为了给大家一个缓冲时间迁移,JDK开发人员故意选择在运行时不强封装JDK 8中存在的包的内容。因此,类路径上的库和应用程序代码可以继续使用反射来访问java的非公共元素。17年发布到JDK16发布过去三年时间,大部分库已经完成了迁移工作,所以JDK默认进行强封装了。不过可以通过参数--illegal-access=permit关闭强封装。 在Java 9中,我们通过利用模块来限制对JDK内部元素的访问,从而提高了JDK的安全性和可维护性。模块提供了强封装,这意味着
强封装适用于编译时和运行时,包括已编译代码试图在运行时通过反射访问元素时。导出包的非公共元素和未导出包的所有元素都被称为是强封装的。 其他 Packaging Tool:新的打包工具转正。 Foreign-Memory Access API (Third Incubator) Sealed Classes (Second Preview) 用于Java开发机器学习和深度学习的Vector API进入孵化 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:58:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |