Java没有创新了吗?Java 13提供可提高生产率和效率的功能

Java没有创新了吗?

在其CodeOne会议上,Oracle解释了Java SE 13正式发布后Java的快速发布周期如何带来创新。

过去的二十多年中Java编程语言新版本的开发速度相对较慢,仅每隔几年就会进行重大更新。甲骨文在2018年推出了一项新的发布策略,如今这一切都发生了变化,现在该策略现在每年可以看到多个Java版本,包括本周早些时候发布的版本。

在9月16日与OpenWorld共同举办的CodeOne会议上,甲骨文宣布Java SE 13(JDK 13)的全面上市,为开发人员提供了可以提高生产率和效率的新功能。在CodeOne主题演讲中,Oracle Java语言架构师Brian Goetz概述了Java在最近几年取得的进展,并强调了Java 13引入的新功能。

Goetz说:“起初,很多人对快速发布的节奏持怀疑态度,因为我们很难像Java这样大的船能迅速变大。” “甚至有人担心Java 10和Java 11可能根本没有功能,并且往后看,很难夸大快速发布节奏已经带来的重大变化。”

Goetz说,每年发布多个版本意味着可以将更多功能交付给开发人员。不过,也许更重要的是现在如何设计功能-在较小的部分中利用发布周期。新周期的一个缺点是,开发人员和最终用户并不总是清楚为什么以及何时需要升级。

Goetz说:“在旧世界中,当我们每隔几年发布大量版本,而这些较大的版本往往具有较大的功能时,就会有足够的升级动力。” “现在,现实是,我们将来不会看到很多大型功能,这不是因为我们没有创新,而是因为这些大型功能将分解为较小的功能并交付使用分阶段进行。”

Java 13

新的Java 13更新是该版本的一个很好的示例,该版本没有大量的新功能,但是随着功能的成熟,为开发人员提供了增量改进。

Java 13的新功能中有一项称为动态CDS(类数据共享)的功能。根据Java增强建议350(JEP 350),该功能的主要目标是提高应用程序类数据共享(AppCDS)的可用性,并消除了用户进行试运行以为每个应用程序创建类列表的需求。

JEP 351在Java 13中定义了一项新功能,使程序可以取消提交未使用的内存。该功能通过将未使用的堆内存返回给操作系统来改善内存管理。

Goetz在主题演讲中概述的Java 13的预览功能之一是JEP 355,它是一种样式优化功能,称为文本块。

他谈到文本块时说:“这不是一个特别复杂的功能。” “但这在日常代码中有很大的不同。”

根据Goetz的说法,没有文本块,如果开发人员想要将HTML Web代码引入Java,则需要使用一些额外的步骤和代码字符串,这些步骤既混乱又容易出错。文本块的JEP详细信息指出,它们的目标是增强Java程序中字符串的可读性,这些Java程序表示使用非Java语言编写的代码。

Java 14及更高版本

尽管每个Java版本都具有新功能,但是Oracle以不同的代号名称对许多主要的开发工作进行了分组,这将引导Java 14及更高版本中的功能开发。

大型项目之一Amber项目,该项目全部与面向生产力的功能有关。Valhalla项目正在不断改进Java虚拟机。而Project Loom就是要在Java之上支持新的编程模型。

Goetz说:“对于Java来说,这是一个美好的时光。” “我们交付速度更快,每个版本中都有有用的功能,并且面向未来的管道比以往任何时候都更好。”

其实大家没有必要过于关注版本的变化,因为版本变化可能不会带来大的更新和特性。

日积月累,相对比较旧的版本也会有很大的更新和特性,对比一下,java13 对于 java8来说有很多大的功能和特性更新。

现在oracle的java版本策略是快速发布版本,小的功能的更新能快速发布新版让用户体验到,所以大家多关注Jave每次版本更新,以发现和尝试使用对自己有用的功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户5521492的专栏

SSH 和 SSM 有什么区别?

本人使用过SSH框架一段时间,最后在优化项目的时候决定使用SSM框架,这两种框架的一些浅显的区别我在这里说下。

22620
来自专栏爱敲代码的猫

java设计模式(2)-单例设计模式

上一篇推文写了工厂方法模式,包括简单工厂模式、多工厂模式、静态工厂模式、抽象工厂模式,这篇推文记录一下单例设计模式

10940
来自专栏Java技术栈

年薪 50 万的 Java 后端标准,值得参考!

高并发编程、分布式框架、Spring等常用框架可以说是现在Java后端求职的必备技能。

22720
来自专栏用户5521492的专栏

40 个Java多线程问题总结

原文地址:http://www.cnblogs.com/xrq730/p/5060921.htm

8920
来自专栏用户5521492的专栏

JVM 最多支持多少个线程?

这取决于你使用的CPU,操作系统,其他进程正在做的事情,你使用的Java的版本,还有其他的因素。我曾经见过一台Windows服务器在宕机之前有超过6500个线程...

10480
来自专栏Java技术栈

几个 BeanUtils 中的坑,千万别踩!

最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。

23430
来自专栏用户5521492的专栏

Spring Boot 与 MVC 的区别

常常有读者问我,Spring、SpringMVC、SpringBoot 有啥区别?在我的理解中,我觉得 Spring 是基础,是核心;SpringMVC 是一个...

10520
来自专栏用户5521492的专栏

字符串拼接,什么时候会走 StringBuilder?

这时候,疑问就来了,为什么结果会不一致呢?利用在cmd窗口输入javap -c TestDemo.class命令,对字节码文件进行反编译,发现了问题所在?

7110
来自专栏养码场

一件程序员必备武器的诞生

夜已深,但是Java第一代国王却无心睡眠,帝国刚刚建立,东边的C/C++王国虎视眈眈,随时准备把新生的王国扼杀在摇篮中。

9840
来自专栏用户5521492的专栏

Java 中检查空字符串(null或空白)的方法有几种?

来源:https://www.toutiao.com/i6713087515768652301

26920

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励