@levinzhang
2022-06-04T09:58:12.000000Z
字数 1879
阅读 473
by
在云原生时代,Java似乎短暂失去了自己的优势地位并且被更年轻的平台不断取代,但是在此之后,它似乎迎来了自己的复兴时代。Java生态系统就像是通向创新的一条快车道,许多的项目都在使其对云更加友好,在语言层面提供支持并改善其运行时。RedHat的工程副总裁Mark Little在他的Devoxx UK演讲中详细介绍了这方面的努力。
在云原生时代,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项目和其他倡议是否能在适当的时间内准备好,使其依然能够保持重要的地位。
软件工程师,拥有从金融软件到IAM的实际经验。热衷于工具化和优化开发流程。在欧洲IDaaS的iWelcome担任工程主管。
Transylvania JUG的组织者--我很想做更多这样的事情。
罗马尼亚Voxxed项目委员会成员,希望在不久的将来能成为演讲者。
JavaAdventCalendar的主要编辑。
查看英文原文:The Future of Java as Seen by Mark Little at Devoxx UK 22: Native Java, Adoptium and Faster Pace