Java永不落伍

2023-05-26 0 934

原副标题:Java终将过时

公司出品 | OSC开放源码街道社区(ID:oschina2013)

雪藏 Java 的人声长久以来。

特别是近些年,云原生植物黄金时代的来临,应用软件的交货形式发生了实质性变动,Java 遭遇了众多批评。

现代应用领域的 Java 合作开发,交货的是 Java 应用应用领域这类,具体内容充分体现在以 “jar”“war” 的形式交货,而云原生植物最差课堂教学,则是如前所述微服务项目形式,以罐子为基本上交货基层单位,并在 K8S 中选曲。云原生植物应用应用领域要求更加速的开启、特别强调纯天然资源按量消费需求,灵活性扩充,和可探测性等。就这一微观来说,在云原生植物黄金时代,Java 的瑕疵的确是纯天然存在的。

“实际上,Java 控制技术在云原生植物黄金时代也在时不时地变异。” 直面雪藏 Java 的众多论断,穆萨云面向对象与C++工程项目组相关人士、Java Champion 李三红优先选择理智审视。

Java永不落伍

穆萨云面向对象与C++工程项目组相关人士、Java Champion 李三红

” 比如说更多全力支持罐子布署的优点已经重新加入到 OpenJDK 版。 一直被人非议的 Java 开启慢的难题,目前如前所述 OpenJDK 控制技术的两个技术创新工程项目正在数个不同路径积极探索,包括 CRaC (Coordinated Restore at Checkpoint) 、Leyden,和由穆萨和 Google 作为主要就COBOL的 Fast Startup Incubator 等工程项目。在纯天然资源灵活性采用方面,由 Alibaba Dragonwell 提供更多的 ElasticHeap 机能,主要就目地是化解云计算自然环境下 Java 缓存纯天然资源采用的灵活性难题。 最后,OpenJDK 的 JFR 和 JFR Streaming 控制技术为构筑 Java 云原生植物可探测辅助工具提供更多了重要的控制技术支撑力。“

Java 遭遇的考验,更为重要是云原生植物

李三红认为,从 1995 年 Java 1.0 发布算起, Java 控制技术这二十多年的发展,大致存在一明一暗两条线的驱动。“一条暗线,是指 Java 或者说支撑力 Java 的底层 JVM 控制技术适配计算机架构的演进与发展。一条明线,是指 Java 作为一个合作开发者辅助工具,本质是要面向业务应用领域化解业务难题的,所以自然而然地推动了 Java 在云原生植物,AI 等路径的演进,化解这些应用领域内碰到的难题与考验。”

后摩尔黄金时代,算力增长放缓,更多利用多核,SIMD(单指令多数据流)等并行计算控制技术,和异构来释放更大的算力。相较于 C/C++ 这些传统编译型语言,Java 处在应用软件栈的更高抽象级别,自带 Java 标准库,和运行时自然环境,这也给 Java 技术创新带来了更多的空间和可能性。

李三红指出, Java 在多核、异构加速应用领域做了多方面的积极探索,适应与优化。比如说,OpenJDK 孵化的 Vector API 工程项目,依赖 CPU 的 SIMD 指令,获得计算性能的成倍提升。即将发布的 OpenJDK 19 引入了 Virtual Threads (Preview),旨在帮助 Java 合作开发者高效处理并发 (特别针对 IO 密集型场景) 。而在异构应用领域,早 2014 年 JVM 控制技术峰会,AMD 就分享了 Sumatra 工程项目,尝试实现 JVM 与 Heterogeneous System Architecture 目标硬件交互。由 The University of Manchester 发起的 TornadoVM 工程项目,目标是帮助 Java 合作开发者不需要了解 GPU 编程语言或者相关的 GPU 体系结构知识就可以编写面向异构的并行程序。

在 AI路径上,Java 也在与时俱进。据李三红介绍,在企业计算应用领域,Java 是被采用最多的语言之一,但对于机器学习应用领域的合作开发,Java 一直缺乏标准全力支持,这个路径其实在 JCP-EC 讨论也比较多。

如前所述 Java SE 控制技术,在 JCP 流程内推动并最终在 2022 年定稿的 JSR 381 规范,其目标就是为不同应用领域的 Java 机器学习合作开发提供更多通用的可重用设计。JSR 381 定义了标准的 Java API,提供更多了基本上机器学习、图像分类和对象识别方面的处理能力。“依赖于不同的机器学习平台,如 TensorFlow, MXNet 和 DeepNett 等,JSR-381 提供更多了不同的实现。对于 Java 生态内的合作开发者来说,不必再去学习 Python, 可以依赖 JSR-381 VisRec API 去构筑你的 AI 应用应用领域。”

现实中,Java 应用应用领域的版升级是较为缓慢的。Java 11 (OpenJDK11)距离 2018 年发布已经过去四年多,目前国内大多数的用户仍然停留在 Java 8。李三红认为,动力不足是多方面的,对合作开发者来说最直接的原因可能是担心升级后兼容性带来的稳定性难题,会直接影响业务的连续性。

这种难题并不罕见。令人振奋的是,处于 Java 生态中的企业正在贡献自己的力量。穆萨内部在大规模地往 Java 11、 Java 17 迁移的时候,总结了不少的经验,并且将这些经验通过辅助工具的形式沉淀下来。最后穆萨开放源码了 EMT4J (Eclipse Migration Toolkit for Java) ,能够帮助 Java 应用应用领域无缝升级最新版 JDK, 主要就全力支持从 Java 8 到 Java 11,和 17 的升级。

李三红还补充道,对于 Java 版的升级难题,还可以从另一个角度 ——Software Sustainability—— 来进一步探讨。

“由 Titus Winter 等编写的《Software Engineering at Google – Lessons Learned from Programming Over Time》一书中,谈到了组织的 Codebase Sustainability 概念,特别强调了两个核心理念: 第一,无论应对的是控制技术需求,还是业务需求,应用软件代码应当可以做一切应该做的改变。 第二,这些改变带来的影响是安全的。

“回到 Java 版升级这个难题,我们在合作开发 Java 应用应用领域的时候,建议应用应用领域架构师们把 Java 版升级纳入到 Software Sustainability 这个维度下考量,对代码合作开发规范进行相关的约束。例如,不要让你的代码依赖 JDK 内部不公开的 API,不要让你的实现依赖特定的 JDK 版行为,不要采用被 Deprecated 的 API 等等。架构的目标应当考虑 Code Sustainability,让你的 Java 应用应用领域可以在任何时候根据实际需要平滑升级到不同 JDK 版,不应当因为代码缺乏 Sustainability 而导致的尽量少的版升级。”

李三红对 Java 的未来充满信心,源于他在 JVM应用领域耕耘多年,不仅深入了解 Java 优点,并且有能力进行技术创新性研究。

在重新加入穆萨之前,李三红一直在 IBM Java 控制技术中心,参与 J9 虚拟机合作开发,期间领导了 JVM 多租户工程项目。目前就职于穆萨云,领导面向对象与C++工程项目组,主要就的工作是结合穆萨、蚂蚁及云上各业务的需求,在C++、语言运行时等基础应用领域进行研究技术创新。目前,在语言辅助工具链这块,已经形成 Alibaba Dragonwell (Java 生态), Alibaba Cloud Compiler (C++ 生态) 等数个产品来支撑力其业务,语言辅助工具链相关的开放源码控制技术也在为龙蜥街道社区的合作开发者提供更多全力支持。

2020 年,李三红获得了 Java 控制技术领导者街道社区 Java Champions 推荐,被授予 Java Champion 荣誉。Java Champion 由 Java 街道社区成员提名,并且必须得到现有 Java Champions 成员的一致同意。唯有为 Java / JVM 生态系统做出重要贡献的专家才能获此荣誉。

去年,穆萨云第三次入选 JCP 最高执行委员会 (JCP-EC), 作为穆萨云在 JCP-EC 的代表,李三红一直在参与 JCP-EC 领导下的相关 Java 标准讨论制定工作。

GOTC 2023 很荣幸邀请到李三红担任 “基础设施与应用软件架构” 分论坛的公司出品人。该分论坛入选的议题,是经过了李三红和大会组委会深入讨论,精心安排的。希望从数个维度,最大程度覆盖了基础应用软件各应用领域的介绍分享。既有最底层芯片控制技术 (RISC-V) 的话题,也包括了像 C++、Java 语言运行时的内容,还包含了应用应用领域最广泛的中间件 Dubbo、RocketMQ、 Kafka 等内容的分享。

2023 年 5 月 28 日,GOTC 2023 “基础设施与应用软件架构” 分论坛将为合作开发者们提供更多基础架构应用领域最丰富、最前沿、和最具控制技术性的内容分享。期待各位的莅临。

Java永不落伍

全球开放源码控制技术峰会(Global Open-source Technology Conference),简称 GOTC,是由开放原子开放源码基金会、 Linux 基金会亚太区、上海浦东应用软件园和开放源码中国联合发起的,面向全球合作开发者的一场盛大开放源码控制技术盛宴。 5 月 27 日至 28 日,GOTC 2023 将于上海举办为期 2 天的开放源码行业盛会。大会将以行业展览、主题发言、特别论坛、分论坛的形式展现,与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门控制技术主题,和开放源码街道社区、AIGC、汽车应用软件、开放源码商业化、开放源码教育培训、云原生植物等热门话题,探讨开放源码未来,助力开放源码发展。

GOTC 2023 报名通道现已开启,诚邀全球各控制技术应用领域开放源码爱好者共襄盛举!

参会报名,请访问: https://www.bagevent.com/event/8387611

进入官网了解更多信息,请访问https://gotc.oschina.net/

立即进入GOTC官网

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务