10月22日下午,杭州未来科技城学术交流中心2号接待室,CNCC“Java是否失宠了?Java25周年特别讨论”技术论坛如期举行,50多位专家学者参加了研讨和交流。自1995年Sun推出Java至今,这门编程语言已风光了25年。尽管Java仍是互联网公司的首选编程语言,但关于Java没落的言论甚嚣尘上。目前,国内JAVA生态已逐渐划分成几大阵营,Java EE企业级应用传统领域是大厂商(Oracle和IBM)主导,互联网领域是pivotal,互联网中间件是阿里云和pivotal在推spring cloud,大数据、移动安卓又分别是另一个独立生态。面对Java老矣,尚能饭否的各种消极论调,作为Java开发者怎么看?AI时代Java未来会走向哪里?针对这些问题,CCF YOCSEF杭州邀请了全球顶尖Java开发者和布道师,于CNCC杭州分会场主办了本次Java25周年特别论坛。本次论坛由YOCSEF杭州分论坛主席李怡雯主持。怡雯首先简要介绍了本次论坛从6月开始策划的背景和过程,随后介绍了本次论坛的4位讲者以及论坛的日程安排。论坛执行主席邓水光、李文娟进行线上微论坛主持。施慧是Tencent JDK的主要设计和开发者,拥有超过10年的编译器、语言运行时开发经验,前任华为语言虚拟机部门技术专家以及IBM Java技术中心高级工程师,负责Huawei JDK以及IBM J9虚拟机的开发。在本次报告中,施慧介绍了JDK语言在腾讯的使用,腾讯自研Tencent JDK的动力;Tencent JDK的产品策略和业务方向,包括除了传统的Java后台服务之外,Tencent JDK如何布局和投资未来;Tencent JDK后续将如何开展社区合作,持续集成社区特性并回馈社区。张建飞,阿里巴巴零售通技术部,高级Java技术专家张建飞是JCP(Java Community Process) 执行委员会正式会员,开源Java DDD应用框架COLA的作者,著有《代码精进之路:从码农到工匠》一书。
作为网红技术专家,张建飞的报告幽默风趣。他认为Spring框架作为一种轻量级应用框架,在给开发者带来便捷的同时,也带来了新的问题,即传统的Service+DAO的形式很容易造成应用快速腐化,无序膨胀,导致系统变成谁也不敢动的大酱缸。在本次报告中,张建飞介绍了什么是DDD,DDD的核心要义,以及如何通过DDD的思想治理复杂度,从而构建新型的Java EE应用。在论坛当天上午,张建飞就论坛的主题“Java是否失宠了?”提出自己鲜明的观点:Java不会失宠,语法不是关键,背后的编程思想才是。郑雨迪是Oracle Labs的高级研究员,Graal编译器组的核心开发者之一,同时也是畅销专栏《深入拆解JVM》的作者。郑雨迪认为GraalVM是一个高性能的、可嵌入的Polyglot执行环境,提供了革命性的编程语言虚拟化技术,很可能会成为下一代JVM引擎核心技术。他深入剖析了GraalVM的运行原理,并介绍了如何在产品中使用GraalVM技术。此外,他还介绍了如何实现高启动速度、低内存开销的云原生应用,并解析了GraalVM卓越性能背后的黑科技。张建锋是金蝶天燕CTO,中间件领域资深开发者,Java技术专家,开源技术爱好者。在分布式计算,企业应用设计,移动行业应用,Devops 等技术领域有丰富的实战经验和独到见解。本次报告中,张建锋介绍了Java在云环境上的应用的不足之处,并提出解决之道。同时,他还深入剖析了Java云原生技术框架,介绍了Serverless环境的Java应用场景,提出企业应用如何设计适应云环境的架构。论坛讨论环节,由杭州电子科技大学的金宣妤博士担任主持,她从学习者、教育者、Java社区用户这3个角度提出了问题。
问题1:作为学习者,如何打好java基础,学习的重点是什么?目前技术更新迭代很快,如何选择需要学习的点?
问题2:作为国内大学教育者,如何设置Java类课程,如何设置学生培养目标?本科、研究生有什么不同要求?针对这些问题,张建锋认为要学习者看经典学习材料,可以通过在线课程学习等方式入门。其次,关键是实践,要积极参与校内、校外的项目实践。张建飞认为基础很重要,数据结构、算法都要学扎实。没有必要盯着特定语言学。郑雨迪认为在本科阶段可能性很大,各个方向都可以尝试。研究生阶段可以专注于某个点,研究更深层次的特性,如果在国外读研究生会比较偏向底层研究。他个人比较遗憾在本科阶段没有多尝试几个方向。问题3:各家JDK火热,OpenJDK咋办?在不少用户开始考虑选择OpenJDK的时候,大厂们是否还有心思参与整个社区的维护?现场听众认为,各大厂商推出的JDK势必会与OpenJDK存在差OpenJDK异,因为客户生产环境所遇到的实际问题未必适合OpenJDK的改进,因此,OpenJDK的解决方案未必与各大厂商的想法一致,这就需要多方进行友好协商,并逐渐形成良性机制,现在只是迈出了推动OpenJDK的第一步。来自腾讯的施慧强调一个观点,各厂商的JDK一定是OpenJDK的下游,每个发行版都会同步上游最新更新。同时腾讯也积极将技术积累贡献到OpenJDK,积极参与社区的项目更新和维护。郑雨迪表示很早之前,Java生态就开始出现碎片化趋势,这在Oracle收费之后似乎得到了加剧。Java这么多年发展过来,大多数开发者已经习惯信任官方Oaracle JDK,对社区OpenJDK版本关注不够,所以Oaracle JDK到OpenJDK的切换需要一个过程,但随着各大厂商的努力,OpenJDK的生态一定会越来越完善,功能也会更加齐备。现场有听众认为,就开发者而言,目前的选择越来越多,这不见得一定是件坏事。并且,不同版本之间的兼容性其实非常高,迁移成本几乎为零,这不会给用户使用造成额外负担。感谢CCF杭州分部、感谢GreenTeaJUG对本次论坛的大力支持。
特此感谢!