作者 | Olimpiu Pop
译者 | 张卫滨
策划 | 丁晓昀
在云原生时代,Java 似乎短暂失去了自己的优势地位并且被更年轻的平台不断取代,但是在此之后,它似乎迎来了自己的复兴时代。Java 生态系统就像是通向创新的一条快车道,许多的项目都在使其对云更加友好,在语言层面提供支持并改善其运行时。RedHat 的工程副总裁 Mark Little 在他的 Devoxx UK 演讲中详细介绍了这方面的努力。
多年来,无论是在 Tiobe 指数方面,还是在 GitHub 上使用的编程语言方面,Java 一直位居前列,不仅如此,它仍然是企业级软件的事实标准语言。更快的发布节奏证明了它可以很容易地融入变化,并且能够让开发者更具有生产力。在强大的软件厂商(如亚马逊、谷歌、IBM、微软、Netflix、甲骨文、Pivotal、红帽等)和开源基金会(如 Eclipse 基金会和 Apache 软件基金会)的支持下,目前 JVM 生态系统的创新主要集中在三个方面:
云原生就绪的 JVM 技术
虽然在 serverless 领域,Java 仅占 6.1%(第一名被 node.js 夺走,占有 62.9%),但在 Kubernetes 原生领域,像 Quarkus 这样的应用有望实现 400 毫秒的启动时间,此外它们还能减少对内存和磁盘的占用。根据不同的目的,可以选择在 OpenJDK 的 hotspot 或 GraalVM 来运行它们。后者是该领域巨大创新的催化剂,不仅对 Java 是这样,对它所支持的其他编程语言同样如此。Leyden 项目有望为原生 Java 带来标准的定义,以及原生镜像 Generator 的参考实现和原生 Java 的一致性测试套件。
Mark Little:当展望 Java 的未来时,我担心 Leyden 不会在合适的时间出现,使其依然能够保持重要的地位。
Kruize Autotune:承诺为 Java 自动调整 Kubernetes 配置。不仅仅是 JVM,它还会优化整个技术栈。
Java 生态系统的支持
Adoptium 是一个“幸运”的镜像库,有大约 3 亿次下载。它努力成为面向所有可用平台的二进制文件的下载门户,目前它涵盖了 Linux、Windows、macOS、ARM、Intel、AIX 和其他平台。为了确保所有的社区构建都能具备足够高的质量标准,在 Adoptium AQAvit 下,会有 25 万个自动化测试在云端的 100 多个构建和测试机器上运行。测试的重点是安全性(通过已知的安全漏洞测试)、功能正确性、性能、可扩展性和耐久性。
Holly Cummins:尽管有一段时间我对 Node.js 情有独钟,但是现在我又回到了使用 Java 编写代码,因为它发展得很好,而且 JS 中许多好的部分现在在 Java 中也具备了。
更高效的运行时
由于不是所有的东西都在 Kubernetes 中运行,所以 Java 整体也做出了很多的努力进行改善,比如更小的内存占用(例如,紧凑的字符串)、更有效的内存管理和垃圾收集(Shenandoah 和 G1)、链接和打包合适大小的应用程序(jlink),以及 IO 的优化(HTTP2 和 WebSockets)。
Java 是一门老牌的编程语言,但它的社区正在进行大量的工作,试图使它更适合任何的环境。五年来,每六个月发布一个新版本的 Java 证明,甲骨文可以以更快的速度改造该语言,像微软这样的组织也开始参与进来,即便传统上他们并没有太多交集。对于其云原生的未来,主要的担心在于 Leyden 项目和其他倡议是否能在适当的时间内准备好,使其依然能够保持重要的地位。
作者简介:
Olimpiu Pop,软件工程师,拥有从金融软件到 IAM 的实际经验。热衷于工具化和优化开发流程。在欧洲 IDaaS 的 iWelcome 担任工程主管。Transylvania JUG 的组织者 -- 我很想做更多这样的事情。罗马尼亚 Voxxed 项目委员会成员,希望在不久的将来能成为演讲者。JavaAdventCalendar 的主要编辑。
原文链接:
https://www.infoq.com/news/2022/05/future-java-may22/
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
被捧上天的 Scrum 敏捷管理为何不受大厂欢迎了?
2022,我们该如何理解可观测技术
95后百度员工对领导不满,删改公司数据库被判刑;微软在美取消竞业协议;TikTok中国管理团队与海外员工冲突引发离职潮 |Q资讯
GitHub官宣“报废”Atom编辑器,创始团队不甘心表示正用Rust重写
点个在看少个 bug