Java的未来项目:巴拿马,织布机,琥珀和瓦尔哈拉

新闻稿“ Oracle Code One Java主题演讲概述了Java的未来 ”在Oracle Code“突出未来项目” Valvala 项目,巴拿马 项目,Amber 项目和Loom 项目中描述了Java主旨。 这篇文章为不熟悉上述项目的人提供了每个项目的简要摘要以及与每个项目相关的一些最新工作。

巴拿马计划

巴拿马计划的主题是“互连JVM和本机代码”。 它的导言指出:“我们正在改善和丰富Java TM虚拟机与定义良好但'外国'(非Java)API的连接,其中包括C程序员常用的许多接口。”

最近发布了巴拿马早期 抢修版的Build 0(2018/10/24) 。 与其他与OpenJDK相关的早期访问版本一样,此版本“旨在供专家用户使用”,并且“是为方便起见而提供的,因此他们无需从源代码进行构建。” 要注意的最重要问题之一是“不提供Windows支持”。

织机项目

“ 项目Loom”页面描述了Loom:“该项目的目标是探索和孵化基于Java VM特性和API的API,以实现轻量级用户模式线程(光纤),定界的延续(某种形式)以及相关功能,例如明确的尾叫。”

Project Loom提案 (标题为“ Project Loom:Java虚拟机的光纤和延续性 ”)开始,“ Project Loom的任务是使编写,调试,配置文件和维护并发应用程序更容易满足当今的需求。”

OpenJDK loom-dev邮件列表上的消息“启动Project Loom会议 ”指出:“ Project Loom已经在这里启动并运行了几个月,对定界的延续和光纤进行了一些早期探索和原型制作。” 该消息涉及通过启动会议扩大工作量,并提供指向上述Project Loom提案和YouTube主持的演示文稿“ Ron Pressler和Alan Bateman的Project Loom ”的链接。

琥珀计划

Project Amber页面描述了其目标“探索和孵化较小的,面向生产力的Java语言功能,这些功能已被OpenJDK JEP流程接受为候选JEP 。” 该项目正在探索一些令人兴奋的功能,包括模式匹配 ( JEP 305 ), 开关表达式 ( JEP 325 ), 原始字符串文字 ( JEP 326 ), 简洁方法体 ( JEP草案 )以及更快的String.format和Objects.hash。方法 [ JDK-8205637 (“ String :: format和Objects :: hash的优化调用”)]。

刚才提到的JEP列表证明了Amber正在进行的重要工作。

瓦尔哈拉计划

所有这些项目都为Java提出了令人兴奋的附加内容,但是让我最兴奋的一个项目是Valhalla项目及其Value Objects / Types ( JEP 169 )。 Valhalla项目页面描述了该项目的目标“为探索和孵化高级Java VM和语言功能候选者提供一个场所”。

瓦尔哈拉项目在最近几周取得了重大进展,尤其是自2018年10月10日瓦尔哈拉执行小组会议以来和之后。 Brian Goetz在OpenJDK valhalla-spec-experts邮件列表消息“ 进入Project Valhalla的下一阶段 ”中写道,这次会议是“出席人数众多的超级生产力会议”,它帮助Valhalla开发人员“摆脱困境,以及接下来要去的地方。” Goetz还指出“这标志着该项目第三阶段的开始”,并概述了构成第一阶段和第二阶段的内容。此相同的消息还总结了Valhalla的后续步骤:


展望未来,我们的下一个目标是L2-它将捕获我们到目前为止所做的选择,为进行库实验提供有用的测试平台,并为深入研究此处和L10之间剩余的未解决问题奠定基础。 L10是我们的第一个预览目标,它应支持值类型和值上的已删除泛型。

瓦尔哈拉规范专家邮件列表上最近出现的另一有趣的Goetz消息是“ 值和已删除的泛型 ”,其中Goetz提供了“我们为基于值的已删除的泛型而提出的故事的摘要”,其“建立在所概述的打字故事的基础上在约翰的《 L世界的Q型 》文章中。” 该引用的John Rose文章的标题当前为“ L-World 10中的Q-类型 :Valhalla工作组,伯灵顿,2018年9月”。 本月初还宣布了 针对LW2的JVM规范更改建议修订版。

与Valhalla项目有关的工作量在该项目的邮件列表中的邮件数量中得到了明确说明。 这些包括前面提到的那些,以及诸如“ var,静态工厂方法和值类型构造函数 ”之类的其他内容; “ 值类型,封装和未初始化的值 ”; 和“ 数组协方差 ”。

还有一系列Goetz消息,重点介绍从前两个阶段中学到的特定课程:

  • “ [LW100]专用泛型-翻译和二进制兼容性问题 ”
    • “在与现有已擦除代码进行交互的同时,将类发展为任意类的挑战。”
  • “ [LW100]专用仿制药-迁移 ”
    • “我们为迁移准备的故事。”
  • “ [LW100]专用泛型-用户模型问题 ”
    • “迁移现有库的用户模型和源兼容性”
  • “ [LW10]价值平等 ”
    • “如果我们期望值'像int一样工作,那么|==|

OpenJDK valhalla-dev邮件列表消息“ Valhalla项目存储库状态:从'LW1'分支以准备'LW2' ”宣布创建“ lw1”分支。

结论

在Oracle Code One的Java主题演讲中提到这四个项目并不奇怪。 它们涵盖了Java未来所期待的许多功能。

翻译自: https://www.javacodegeeks.com/2018/11/javas-projects-panama-amber-valhalla.html

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

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

相关文章

c语言选择题答案在哪查,C语言选择题及答案

C语言选择题及答案成绩的取得离不开我们平时的努力,以下是百分网小编为大家整理的C语言选择题及答案,希望对大家的学习起到帮助!选择题1.在深度为5的满二叉树叶中,叶子结点的个数为( )。A.32B.31C.16D.152.软件生命周期中,花费最多…

vs2019中如何创建qt项目_在VS2015中创建Qt项目【VS+Qt项目开发系列】(二)

在VS2015中创建Qt项目【VSQt项目开发系列】(二)发布时间:2018-04-20 22:44,浏览次数:1269, 标签:VSQt在上一篇【VSQt项目开发】(一)在VS2015中安装Qt环境中,我们完成了开发环境的安装,现在我们正式创建我们的项目。项目…

c语言ok未定义标识符,C语言中宏的相关知识 - osc_y7ckpzr9的个人空间 - OSCHINA - 中文开源技术交流社区...

2019/04/27 16:02 1.宏的定义:宏定义就是预处理命令的一种,它允许用一个标识符来表示一个字符串。格式如下:#define name(宏名) stuff(字符串)本质就是使用宏名去替代字符串的内容,注意是原封不动的替换,不要自己潜意识…

pythoni屏幕连点_【Flutter组件】仿抖音双击点赞弹出爱心效果(可连点)

效果简介仿抖音点赞手势,单击暂停,双击点赞,可连续点击添加多个爱心,特点如下全部效果为代码绘制(爱心图标来自Material Icon的图标)套上在目标Widget外即可使用提供单击与点赞的回调建议复制代码使用,动画可按需修改没…

java8 linq4j_Java 8仍然需要LINQ吗? 还是比LINQ更好?

java8 linq4j长期以来, LINQ是.NET软件工程生态系统中发生的最好的事情之一。 通过在Visual Studio 2008中引入lambda表达式和monad ,它使C#语言跃居Java之前,Java在当时是版本6,但仍在讨论泛型类型擦除的优缺点。 这项…

printf sizeof c语言,你可能对 sizeof(i++) 有点误解。。。

原标题:你可能对 sizeof(i) 有点误解。。。各位,今天还是按照惯例给大家分享一个C语言容易出现的小错误,这也是跟sizeof有关的,问题虽小,却可管中窥豹,话不多说,代码先行:# includei…

mongodb上一篇下一篇_如何使用Microsoft office word—上一篇

从这一期开始,将会逐一介绍Microsoft office的几个常用的软件,例如word ppt excel等,每一个软件将分为几期介绍,这几期介绍word。注意:介绍软件版本是Microsoft office365。如何插入图片首先打开word,点击插…

Java:使用Mockito模拟ResultSet

这篇文章展示了如何使用Mockito模拟java.sql.ResultSet 。 它可用于帮助单元测试代码对ResultSet (例如ResultSetExtractor )执行操作,而无需依赖外部数据源。 您可以通过提供列名列表和2D数据数组来创建MockResultSet 。 例如: …

c语言如何随机获取1kb,基于VS2010+C语言实现播放器的顺序播放、随机播放

1.[文件] music.h ~ 920B 下载(38)/** File: music.h* Time: 2014/10/11*/#ifndef __MUSIC_H__#define __MUSIC_H__typedef enum { UNPLAYED, PLAYED } BOOL; // 自定义一个bool类型typedef enum { ORDER, RANDOM } PLAY_MODEL; // 自定义一个播放类型typedef char *MUSIC_…

rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现

漏洞原理fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执…

c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...

[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏一、实验目的与要求(1)了解极大极小算法的原理和使用方法,并学会用α-β剪枝来提高算法的效率。(2)使用C语…

java中重载 参数顺序_Java方法中的参数太多,第4部分:重载

java中重载 参数顺序期望将过多的参数传递给Java方法的问题之一是,该方法的客户端很难确定它们是否以适当的顺序传递了适当的值。 在以前的文章中,我描述了如何使用自定义类型 , 参数对象和构建器来解决此问题。 解决此问题的另一种方法&…

c语言金箍棒答案,《西游记》阅读测试题(带答案)

《西游记》测试题(后附答案)姓名得分1.《如来佛辨识假猴王》故事中,那只假孙悟空是什么猴子变的?()A.金丝猴 B.石猴 C.六耳猕猴2.金角大王和银角大王原来是()的弟子。A.太上老君 B.孙悟空 C.观音菩萨3.蜘蛛…

五个金念什么_四个“金”字读什么?

展开全部读音为:jīn ,是金字的异体字写法,读音和意思与金字完全相同,打不62616964757a686964616fe58685e5aeb931333431353265出来,如下图:金拼音:jīn释义:1.俗称金子。金属元素&am…

Istio的零停机滚动更新

本系列文章的第一部分介绍了如何在Kubernetes集群中实现真正的零停机时间更新。 我们专门解决了将流量从旧实例切换到新实例时出现的请求失败。 本文将展示如何使用Istio群集实现相同的目标。 服务网格技术(例如Istio)通常与容器编排结合使用。 Istio以…

聚类dbi指数_一种基于DBI-PD聚类算法的异常检测机制

一种基于DBI-PD聚类算法的异常检测机制丁姝郁【期刊名称】《电脑开发与应用》【年(卷),期】2015(000)002【摘要】分析了网络数据维数和检测准确度之间的关系,介绍了常用于入侵检测的聚类分析方法及其优缺点。在此基础上,提出一种以戴维森堡丁指数(DBI)为…

单片机红外通信c语言,基于C语言的计算机与多单片机红外无线串口通信的实现.doc...

基于C语言的计算机与多单片机红外无线串口通信的实现基于C语言的计算机与多单片机红外无线串口通信的实现黄文亮 信息学院 电子信息工程专业指导教师 刘传菊摘要:计算机与一台或多台单片机的通信系统中的数据通讯一般采用的是串行通信方式。串行通信可采用有线与无线…

android 设置资源,Android 资源

Android 资源Android Resources02/01/2018本文内容本文介绍了 Xamarin 中 Android 资源的概念,并介绍了如何使用这些资源。其中介绍了如何使用 Android 应用程序中的资源来支持应用程序本地化和多个设备,包括不同的屏幕大小和密度。This article introdu…

zbrush常用笔刷_ZBrush中常用笔刷综合简介

单击左托盘的笔刷图标,弹出一个笔刷库,其中有许多常用笔刷,这也是许多初学者所头疼的问题,ZBrush的笔刷非常多,而且功能很强大,好多朋友不知道该选择哪一个笔刷进行雕刻。其实,在ZBrush的学习中…

spring java配置_Spring:使基于Java的配置更加优雅

spring java配置大家好,我很久没有写新文章了。 积累了很多资料,需要在不久的将来在我的博客中发布。 但是现在我想谈谈Spring MVC应用程序配置。 确切地说,我想谈谈基于Java的Spring配置。 尽管在3.0版本中引入了基于Spring java的配置&…