2024Java生态发展论坛——AI催化下JVM的发展探索 顺利召开
2024-07-08 莫简豪 GreenTeaJUG
2024Java生态发展论坛——AI催化下JVM的发展探索顺利召开
Java作为工业化水平成熟的编程语言,在全球范围内拥有广泛的应用和深厚的用户基础。AI的出现对Java生态提出了新的挑战,同时也带来了新的机遇。本论坛旨在探讨Java生态在AI时代的发展与挑战。JCP25周年之际,作为中国第一个JCP成员的GreenTeaJUG联合浙江省人工智能学会于2024年7月6日在浙江杭州举办了2024Java生态发展论坛。论坛报告了Java和AI相关前言技术的进展,并讨论了Java技术的优势和劣势、AI时代Java技术的定位以及Java程序员如何应对裁员等议题。此次论坛由浙江省人工智能学会和GreenTeaJUG主办,西湖区科技成果转化(普华)中心、CCF杭州、CCF YOCSEF杭州、杭州市移动互联网技术学会协办,并得到Azul、JCP、微软React社区、阿里云龙蜥社区、异步出版社的支持。
论坛由莫简豪(GreenTeaJUG创始人,简算技术创始人)开场,简要介绍了本次论坛的背景并对与会嘉宾表示感谢。随后吴吉义(浙江省人工智能学会秘书长)致辞,表达学会对Java社区的重视。之后Gavin Yu(Azul Systems 大中华区技术总监)、景端阳(字节编译&语言团队JVM工程师)、林子熠(阿里JVM团队GraalVM专家,CCF系统软件专委会委员,Apache commiter)、张建锋(永源中间件总经理)分别就JVM编译云化、JDK兼容升级、Java agent静态编译以及Java AI中间件等前沿技术进行了深入的探讨。
Gavin Yu以《Optimizer Hub技术与实践》为题,详细介绍了JVM编译云化技术,其中通过AI不断迭代优化的JVM优化能力 到达5% YoY以上性能提升。
Gavin Yu作主题报告
景端阳以《A Tale of Two VMs Compound VM, 帮助Java业务快速升级的组合JDK》为题讲述了CVM在字节落地flink,spark,并取得10%性能提升。
景端阳作主题报告
林子熠以《Implement auto instrumentation under GraalVM static compilation on OTel Java Agent》为题详细解释了GraalVM Java agent,并帮助应用启动时间减少98%,内存额外开销减少超过60%的成果。 林子熠作主题报告
张建锋以《Java AI中间件关键技术剖析》为题,探讨了JavaAI中间件如何助力RAG等AI应用开发。 张建锋作主题报告
随后,论坛进入圆桌讨论环节。主持人陈洋(人工智能学会副秘书长,准到科技创始人)与嘉宾Gavin Yu、景端阳、林子熠、张建锋、沈金堤(独立开发者)、肖伟宇(FireUG co-funder, 微软MVP)、李枫(独立开发者 AI, Virtualization, Program Runtime, Network, 5G, RISC-V, EDA)围绕“相比于其他编程语言,Java的优势和劣势在哪些?为啥在AI时代被冷落?”、“在AI时代, Java如何定位?如何在AI生态中扮演重要角色?”、“生成式大模型是否能替代Java程序员? Java程序员如何避免被裁员?”等议题进行了深入的讨论,提出了各自的见解。
Gavin Yu:
- Java劣势GC卡顿,预慢热,编译执行代码效能。
- AI可以提升Java编译性能。
- 面对危机,尽早做准备其他赛道。
景端阳:
- 对于AI的基础设施,即模型的训练和推理,Java几乎没有很好的切入点。这些业务依赖对张量的建模和运算,相对Python+C的现有框架,Java一方面不能提供清晰简洁的抽象,另一方面无法使能异构算力。
- Java依然可以定位在AI应用的开发语言,去调用模型的接口去解决各种场景的业务痛点。模型的训练和推理交给Python+C,使用和商业化交给Java。
- AI虽然有海量的知识,但是不会判断;虽然针对清晰需求生成代码片段,但是还缺少架构设计能力。程序员要综合提升自己的能力,提升自己对业务和系统的理解,把AI用作一个好的辅助编程工具 。
林子熠:
- AI包括机器学习、大数据和AI模型。Java在大数据领域依然是最流行的语言,但是在其他两个方面式微。没有最好的语言,只有最合适的语言。机器学习和AI模型方面前端有python快速粘合,后端有native库快速执行,没有Java合适的生态。
- AI作为工具,还是要被业务代码所使用。目前Spring AI,langChain4j正在迅速填补Java调用AI的接口生态。
- 经济有周期,技术总上升。AI有术无道,开发人员要提高自己的道,将AI用好。
张建锋:
- Java优势在于完备的生态,有工业级JVM作为运行时平台;劣势是需要充分考虑低版本Java兼容性,加入新的语言特性需非常慎重。
- 目前Java可以先聚焦在开发AI应用方向,帮助企业更好的利用AI来提升业务能力。
- 合格的Java开发人员,AI是替代不了的;业务定义清晰情况下,AI可能会自动编写代码,但背后还需要更高思维层级的开发设计者。程序员需在红利时代多积累能力,裁员与否,某种程度上是行业的兴衰,甚至有个人运气的成分。
沈金堤:
- Java在ai时代落寞不是这两年才发生的,已经发生了10几年,Java社区过于强大,这种强大导致需要一个完全基于Java的ai stack 无法实现(比较傲慢的出发点)
- Java在ai时代做应用仍然是强项,ai时代更注重的算力都是硬件解决方案,需求发生变化,还是要侧重易用性(语法简洁,内存少,启动快)
- 不是要应对裁员,是怎么提升自己的技术竞争力,特别是软能力:系统性的学习方法更重要。不要盲目的熟悉业务方法论,应该刻苦学习各种底层和基础知识。
肖伟宇:
- 优势是人多,劣势是过于人多。从业人员多,从企业角度容易招人,另外一面,在当下互联网行业不再飞速增长的情况下,从业人员多,就意味着过度的内卷,对于开发者而言,反倒成了劣势。
- Java有自身的使命,不需要重新定位,需要重新定位的是开发者,Java程序员撕掉语言的标签,回归工程师本质更重要。
- 以现在大语言模型的能力来看,生成CURD代码是完全没问题的,对CURD boy的冲击力是最大的,而Java的生态群体里,我相信crud boy占大多数,而且大部分更多的是面对复杂业务的挑战,因此尽可能走向业务侧,作为业务与技术的纽带,修炼需求分析和软件设计的能力,会相对更有竞争力。
李枫:
- Java的未来主要在于GraalVM,异构并行计算在AI时代更加流行,GraalVM+TornadoVM能适应这一趋势。分布式AI越来越重要,包括分布式训练和推理等,Java生态在分布式计算领域一直有不错的积累。
- 扬长避短,在AI时代,利用GraalVM多语言平台优势,作为通用统一运行时。现有AI框架在软件层次上主要是Python + C++架构(Rust正在渗透进这一领域),在分布式AI领域可以尝试Python + Java进行突破。
- 作为AI界的第一编程语言,Python是被各种AI/机器人程序员重点关注的研究对象,实际上各种编程语言开发者面临的风险在后自然语言编程时代是基本相同的。Java生态/JVM系语言开发者需要扩展思路和关注更多的领域:DSL(领域专用语言)在软件开发中越来越流行,eDSL(嵌入式领域专用语言)在基于FOSS EDA(开源电子设计自动化)的硬件前端开发中越来越流行,而经常被忽略的一点是GraalVM其实是一个很好的DSL平台;JVM系语言在分布式AI包括Actor模型等方向依然大有可为;边缘计算近些年发展迅猛,端侧AI需求广泛包括AI PC和AI手机等,Java生态在这些领域仍有一定优势,争取重点突破。
与会嘉宾讨论
本次论坛历时4.5小时,莫简豪对论坛进行了总结。本次论坛梳理了:Java技术在AI时代面临挑战,但依然可以在应用开发、分布式AI、边缘计算等领域发挥重要作用。Java程序员需要适应AI时代的变化,提升自身的设计、架构和业务理解能力,避免依赖于单一技能被边缘化。通过不断学习和适应新技术,程序员可以在AI时代中继续扮演重要角色。