渴望的力量图 java_开发人员最渴望获得的Java 9功能是什么?

渴望的力量图 java

这篇文章最初发布在Takipi博客上 -Java和Scala异常分析和性能监控。

当我们要求Java社区分享他们对Java 9的想法时,我们几乎无法想象我们将收到的最佳评论与Java没有任何关系:“要取笑Microsoft,他们应该跳过Java 9并继续前进。直接到Java 10”,John Doe写道。 因此,无论您在哪里,都感谢匿名评论员。

超过350个Java开发人员参与了该项目,这使我们对开发人员在下一版本中真正希望看到的功能有了一个很好的概述。 我们确实看到了一些通常的嫌疑人,但我们还是很惊讶地看到其中一些功能在列表顶部。

还请参见: Oracle宣布了更多Java 9新功能!

然后,我们邀请3位JCP专家分享他们希望在下一发行版中看到最多的功能,以更好地了解实际发行版的发行方式。

Java-9

对每个功能感兴趣的响应百分比。

几乎50%的开发人员提到Jigsaw项目是Java 9最令人期待的功能
从Java 8推迟到Java 9, Jigsaw承诺将JRE分解为可互操作的组件并引入新的模块系统,这使每个人都感到兴奋。

46%的开发人员希望使用标准化的Java方法来处理JSON
令人惊讶的是,处理JSON的本机Java方法与Jigsaw有着相同的兴趣。 但这是否会改变为此目的依赖外部库的习惯? 我们必须等待即将到来的2016 Java版本才能找到答案。

HTTP 2是Java 9中必不可少的
尽管新标准尚未最终确定,但只有几个月的时间,开发人员期望Java提供全面的支持 。 353位受访者中有103位同意。

语言更改和工具使开发人员比内部JVM更改更感兴趣
我们看到,对大多数开发人员而言,日常变化对可见性的影响较小,尽管它们可以改善性能,但对它们的兴趣却较小。

Java 9的未来

对每个更改感兴趣的响应百分比

除了Java 9之外,我们还为您的JDK编制了一份计划内的(虚构的)变更清单,以了解它们如何引起您的兴趣。

Valhalla项目是Java 9以外的拼图,并排在前3位
引起最大兴趣的是Valhalla项目 ,该项目Brian Goetz领导,探索先进的Java VM和可能的语言功能。 绝对是史诗。

48%的开发人员认为,值类型是Valhalla最令人期待的功能
Reified Generics和Generic专业化是亚军,而Enhanced Volatiles是我们要求的功能中最不被期望的功能之一。

苏门答腊项目是Valhalla的亚军-将Java引入GPU
苏门答腊的承诺是使Java应用程序能够利用图形处理单元(GPU)和加速处理单元(APU)。

操作员超载获得34%支持,并排在第5位
我们随机的虚构特征表现不佳,但这就是为什么我们也问您有关您的想法的原因。

那么,为什么我们不删除分号呢?

为了了解您将来还会关注哪些其他功能,我们要求您放开所有限制,只说出您希望使用Java的东西。 稍后在调查本身和reddit中提供 190条评论,这是您建议的最重要和最有趣的功能:

没有更多样板代码
常见的抱怨是Java类包含大量的样板代码。 建议了两个旨在解决这个确切问题的项目来解决这个问题: Lombok项目(Reinier ZwitserlootRoel Spliker启动) ,以及Google与Gregory Kick和Christian Gruber 共同发起的 Auto项目 。 Scala的案例课程也被提及两次。

将属性引入Java
与吸气剂和安装者说再见。

支持多行字符串
此处查看Stephen Colebourne对此分析。

删除分号
坦白地说,这只是建议,以便发表评论,但毕竟这是最受欢迎的选择之一! 有人还建议删除null(编辑: 可能是为什么,谢谢reddit)

猫王算子?
这个小家伙出现了几次。 一个二元运算符,如果不为null,则会导致左侧的值;否则,将评估并返回右侧的值。 斯蒂芬Colebourne对参与推动这一个

增强类重新定义– JEP 159
这是我们针对的一个非常有趣的Java增强建议,想象一下在应用程序仍在运行而无需重新启动它的情况下进行热交换类。 心神。 吹

其他建议包括命名参数尾调用优化 ,类型推断改进以及添加Val,Var甚至For Each语句。

专家对此有何评论?

为了增加见解,我们求助于Java执行委员会成员:Gil Tene和Werner Keil,以及伦敦Java社区成员Richard Warburton。 这是他们对Java未来的期望。

您最想看到哪个功能(一个或多个)进入Java 9?

Warburton: “针对Java 8中的流API提出了许多与lambda相关的功能,但这些功能并未节省时间。 它已经是一个不错的API,但我想花一些时间和投资来为其赋予它应有的光泽。 例如:

并行流控制:目前,对并行流使用CPU资源的方式的控制非常有限。 暴露必要的钩子是一个棘手的问题,但是会带来很多好处。

缺少的方法:在流处理框架的上下文中,有许多方法很有意义。 例如takeWhile,dropUntil,zip和prefixSum都是对Stream API最终用户有价值的东西。 这些都是我在谈论支持本书的 Java 8时被问到的。 还可能是时候重新评估现有的API,以查看是否存在更多范围来添加采用lambda表达式的方法变体。

性能调优:尽管在lambda和stream框架的整体体系结构中已经考虑了很多想法,但是在性能调优方面似乎仍然有很多低落的果实。 一些流API源,例如BufferedReader.lines(),其实现效果不佳,并且有改进的潜在空间。”

Tene: “在Java SE 9中,我非常希望看到一些社区主导的(而不是Oracle主导的)功能融入平台。 Oracle在开发和领导该平台方面已经做过(并将继续做)出色的工作,但是要使OpenJDK和Java SE平台显示出真正的社区驱动行为,我们确实需要证明社区的贡献,而不仅仅是注释和本地化的错误修复。 我认为这是散步的问题。

关于交谈和步行,这些天来我正在使用Java SE 9进行的主要工作是当前在org.ObjectLayout包(请参阅http://objectlayout.org )中捕获的与对象布局相关的工作。 通过可以通过各种org.ObjectLayout类表达的新对象关系,我相信惯用的Java数据结构最终可以与C风格语言中类似的平面数据布局数据结构的访问速度相匹配。”

Werner: “模块化(代号Jigsaw)必须最终在Java 9中正确完成。其他一些功能有些多余。 如果由于适当的模块化而只需要安装应用程序所需的JSON,Rich UI(Swing vs. JavaFX)或Date / Time API,那当然会减轻负担。 我们听说过,对于Java SE 9来说,不太可能解开到目前为止抛出的3种Date / Time API(java.util.Date,java.util.concurrent.TimeUnit与java.time.temporal.TemporalUnit),等等。 SE Java社区不会摆脱这种冗余。

同样由于JDK或Java EE中的“旧版”代码(仅采用java.sql.Date等),由于它们的整体封闭和过度设计的设计,因此不太可能利用“新”代码。 可以完全避免JavaFX及其日期/时间子系统,而就Java ME而言,现有的java.util.Date是唯一真正的平台中立的平台,它具有Java的“只要编写一次即可在任何地方运行”的承诺。 所有其他都是利基解决方案。”

是否有机会看到Java 9(JSR 363)中

Werner: “目前没有JEP,我们更喜欢Oracle的JDK团队立即获得Jigsaw。 在Java的模块化程度更高的未来中,如果包含JSR(如“计量单位”或“货币”等),则将变得无关紧要。 作为“功能模块”,可以将它们添加到自定义配置文件中。 因此,根据拼图可能从那里领导的位置,我们看到“传感器网络”或“物联网”配置文件很有可能在363中发挥作用。

对JSR 363感兴趣的项目是“ Valhalla”,主要是其“价值类型”提案。 像Scala这样的语言现在已经提供了一段时间。 Java无需详细说明,但会计划类似的计划,但可能不会将其纳入Java9。基于JSR 363,度量单位的值类型可以是一个单独的模块,也可以是(可能不在Java 10之前)一个甚至可以选择的模块。在Java安装过程中。

与其他JSR不同,JSR 363的嵌入式特性使其非常小巧且模块化。 因此,它的目标Java ME至少与SE一样多,这就是为什么“ JDK集成”对其重要性不如在ME 8或9下正常工作的原因。”

Java / Scala开发人员? Takipi在代码中检测到所有异常和错误,并告诉您它们为什么发生。 只需1分钟即可安装: 尝试Takipi

翻译自: https://jaxenter.com/java-9-features-developers-yearning-112783.html

渴望的力量图 java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值