针对JDK 14提议的另外六个JEP

Mark Reinhold最近的消息宣布了六个新的“建议针对JDK 14的JEP ”: JEP 345 , JEP 361 , JEP 363 , JEP 364 , JEP 365和JEP 367 。 假设没有异议由11月7日提出,这些JEPs将有针对性地JDK 14与之前定位JEPs沿JEP 349 (“JFR事件流”), JEP 352 (“非挥发性映射的字节缓冲区”),和JEP 358 (“ 有用的NullPointerExceptions ”)。 这篇文章总结了针对JDK 14提出的这六个JEP。

JEP 345:针对G1的NUMA感知内存分配

JEP 345的简洁“摘要”指出:“通过实现NUMA感知的内存分配来提高大型计算机上的G1性能 。” 此JEP的两个重要“非目标”表明,该JEP仅旨在向G1垃圾收集器添加NUMA( 非统一内存访问 )支持,并且仅用于Linux。 但是,JEP还指出:“由-XX:+UseParallelGC支持的并行收集器已经意识到NUMA了很多年。”

JEP 361:开关表达式(标准)

JEP 361将开关表达式从其JEP 325的 “预览”状态移动到“标准”状态。 在此过程中, JEP 354 (针对JDK 13 )对预览切换表达式功能进行了更改:“要从切换表达式产生值,将使用break值语句代替yield语句。” JEP 361的“历史记录”部分讨论了JDK 12和JDK 13在预览状态下对开关表达式的支持,并解释了为什么建议在JDK 14中将其用于标准状态:“在JDK 13上的反馈表明,此功能现已准备就绪并在JDK 14中永久存在。”

JEP 363:删除并发标记扫描(CMS)垃圾收集器

JEP 363的简洁“摘要”指出:“删除并发标记扫描(CMS)垃圾收集器。” JEP 291 ( JDK 9 )已弃用了并发标记扫描 ( CMS )垃圾收集器,该JEP旨在与JDK 14一起将其完全删除 。

JEP 364:macOS上的ZGC / JEP 365:Windows上的ZGC

JEP 364和JEP 365的目标是分别将ZGC垃圾收集器“移植”到macOS和Windows操作系统。

JEP 364的“动机”部分指出:“虽然我们希望需要ZGC可伸缩性的用户使用基于Linux的环境,但在部署应用程序之前,开发人员通常会使用Mac进行本地开发和测试。” 尽管JEP 365缺少明确的“动机”部分,但其动机可能类似于JEP 364的动机。

JEP 365的“非目标”部分指出:“支持Windows 10和版本早于1803的Windows Server并非目标,因为较早的版本缺少用于预留空间的API。”

JEP 367:删除Pack200工具和API

JEP 367的“摘要”部分以以下语句开头:“删除java.util.jar包中的pack200和unpack200工具以及Pack200 API 。” 这些工具和API的删除已在不推荐使用的情况下通过JEP 336在Java SE 11中发布。

弃用 JEP 336和删除 JEP 367的“动机”部分列出了弃用和删除Pack200的三个原因,并得出以下结论:“总的来说,维护Pack200的成本是巨大的,并且超过了将其包含在Java中的好处。 SE和JDK。”

JEP 336的“风险和假设”部分包含以下语句:“我们假设使用pack200收缩应用程序JAR的开发人员可以切换到jlink工具或jpackage工具,以使用优化的尺寸系数来创建特定于应用程序的运行时。” 在r / java子reddit上讨论了jlink和jpackage的适用性。

Java SE规范的影响

Iris Clark发布了这些JEP中的两个JEP具有Java SE范围。 她写道, JEP 361 (开关表达式标准)和JEP 367 (除去Pack200)“范围为'SE'[并且]已被提议作为Java SE 14的目标。”

结论

如果为JDK 14提议的所有六个JEP都针对JDK 14,那么将有九个与JDK 14相关联的JEP。 我特别期待的两个是使用JEP 361标准化开关表达式功能和使用JEP 358标准化更好的NPE消息 。

翻译自: https://www.javacodegeeks.com/2019/11/six-more-jeps-proposed-for-jdk-14.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMWare建立于W10的共享文件夹

一、共享文件夹建立 在虚拟机设置 -> 文件夹共享,选择总是启用,点击添加: 直接点击下一步: 选择原系统共享文件夹位置,并命名: 选择启用此共享,并继续: 二、VMtools安装 虚拟机…

Ubuntu中root用户和user用户的相互切换

Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法。 (1)从user用户切换到root用户 不管是用图形模式登录Ubuntu,还是命令行模式登录,我们会发现缺省的用户…

VSCode如何去掉Monokai主题下的绿色下划线

VScode中类似sublime的主题为Monokai,但是自带主题Monokai中绿色下划线令人不舒服。 在网上寻找多种方式去除下划线。终于找到一种合适的处理方式。 1 安装主题插件 在主题插件中搜索One Monokai Theme,下载并安装 2 配置全局主题 通过快捷键“Ctr…

nio 读取目录所有文件_在NIO.2中使用文件和目录

nio 读取目录所有文件在先前的文章中,我讨论了文件和目录的创建( 创建文件和目录 )以及选择( 列出和过滤目录内容 )。 采取的最后一个合乎逻辑的步骤是探索我们如何使用它们以及如何使用它们。 这是库的一部分&#xf…

week1

文章目录找出数组中重复的数字不修改数组找出重复的数字二维数组中的查找替换空格从尾到头打印链表重建二叉树二叉树的下一个节点用两个栈实现队列斐波那契数列旋转数组的最小数字矩阵中的路径找出数组中重复的数字 https://www.acwing.com/problem/content/description/14/ …

使用反射前先三思

介绍 有时,作为开发人员,您可能会遇到无法使用new运算符实例化对象的情况,因为其类名存储在配置XML中的某个位置,或者您需要调用一个名称指定为注释属性的方法。 在这种情况下,您总会有一个答案:“使用反射…

解决 ZLibrary 登录/注册不了的问题

一 文章转载链接内容 转载链接:解决 ZLibrary 登录/注册不了的问题 - 知乎 很多小伙伴反馈说 Z-Library 能打开,但是不能登录。这实际上是由于官方登录入口受限导致的。话虽如此,我们仍然可以通过某些方法绕过这个限制。 >虽然我们注册时…

阿里云资源搜索网站

1. 奈斯搜索 - 资源超丰富的阿里云盘资源搜索网站! 2. 求资源-百度网盘资源分享_云盘资源分享网_云盘资源网 3. 猫狸盘搜 - 阿里云盘搜索神器 4. 云盘资源分享_云盘网盘资源共享_云盘资源搜索_阿里云盘资源-盘友社区

gradle入门_Gradle入门:简介

gradle入门Gradle是一种构建工具,可以用基于Groovy编程语言的内部DSL替换基于XML的构建脚本。 最近它吸引了很多关注,这就是为什么我决定仔细研究一下。 这篇博客文章是我的Gradle教程的第一部分,它有两个目标: 帮助我们安装Gr…

解决Chrome窗口总保持在最前面的问题 get rid of Chrome window always-on-top behavior

今天发现Chrome的窗口总保持在最前面,本以为是自己不小心把“总在最前”的功能打开了呢。结果找了半天也没发现Chrome有这个设置,于是想到了可能是个bug。我上网搜了下,发现大家遇到了跟我一样的问题,而且有人也向google反馈了这个…

Spring MVC – HTTP消息转换器

通常,您需要为用户提供相同的数据,但格式不同,例如JSON,PDF,XLS等。如果您的应用程序是基于Spring Framework的,则可以使用HTTP消息转换器来完成此任务。 需要将HTTP请求(或其部分)…

C++ 链表的建立与使用

#include <iostream> using namespace std; struct ListNode {int val; //存储数据ListNode *next; //next指针ListNode(int x) : val(x), next(NULL) {} }; ListNode* creatLinkedList(int arr[],int n) {if(n 0)return NULL;ListNode* head new ListNode(arr[…

排队论游乐场的游乐项目_外汇游乐场

排队论游乐场的游乐项目介绍 F X Playground是基于JavaFX的原型制作工具或实时编辑器&#xff0c;它消除了编译Java代码的步骤。 这个概念并不新鲜&#xff0c;例如在网络世界中&#xff0c;有许多HTML5 游乐场提供在线编辑器&#xff0c;使开发人员可以快速原型化或尝试各种Ja…

Node.js安装及环境配置之Windows篇

原博文链接&#xff1a;Node.js安装及环境配置之Windows篇 - 刘奇云 - 博客园 from:https://www.cnblogs.com/zhouyu2017/p/6485265.html 一、安装环境 1、本机系统&#xff1a;Windows 10 Pro&#xff08;64位&#xff09; 2、Node.js&#xff1a;v6.9.2LTS&#xff08;64位…

Java代理初学者指南

尽管Java初学者很快学会了键入public static void main来运行他们的应用程序&#xff0c;但是即使是经验丰富的开发人员也常常不知道JVM对Java流程的两个附加入口点的支持&#xff1a; premain和agentmain方法。 这两种方法都允许所谓的Java代理在驻留在其自己的jar文件中的同时…

npm WARN logfile could not create logs-dir: Error: EPERM: operation not permitted, mkdir ‘地址

场景&#xff1a;在windows系统下&#xff0c;安装node之后&#xff0c;查看npm版本&#xff0c;报错如图所示&#xff1a; 原因&#xff1a;是node目录权限不够&#xff1b; 解决方法&#xff1a;找到node目录&#xff0c;右键属性 > 安全 > 设置users用户完全控制权限…

javafx 自定义控件_JavaFX技巧10:自定义复合控件

javafx 自定义控件用JavaFX编写自定义控件是一个简单直接的过程。 需要一个控件类来控制控件的状态&#xff08;因此命名&#xff09;。 外观需要控件的外观。 而且通常不是用于自定义外观CSS文件。 控件的一种常见方法是将其正在使用的节点隐藏在其外观类中。 例如&#xff0…

虚拟机与容器 的 区别

VM和容器都可以帮助您充分利用可用的计算机硬件和软件资源。容器是块中的新孩子&#xff0c;但VM已经并且将继续在各种规模的数据中心中非常受欢迎。 如果您正在寻找在云中运行自己的服务的最佳解决方案&#xff0c;您需要了解这些虚拟化技术&#xff0c;它们如何相互比较&…

thymeleaf片段使用_Thymeleaf –片段和angularjs路由器局部视图

thymeleaf片段使用百里香叶许多很酷的功能之一就是能够渲染模板片段–我发现这是与AngularJs一起使用的特别有用的功能。 可以将AngularJS $ routeProvider或AngularUI路由器配置为返回不同“路径”的部分视图&#xff0c;使用百里香叶返回这些部分视图确实效果很好。 考虑一…

经典 Linux 协议栈——网络子系统

目录&#xff1a; 1.Linux网络子系统的分层 2.TCP/IP分层模型 3.Linux 网络协议栈 4.Linux 网卡收包时的中断处理问题 5.Linux 网络启动的准备工作 6.Linux网络包&#xff1a;中断到网络层接收 7.总结 Linux网络子系统的分层 Linux网络子系统实现需要&#xff1a; l …