InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

CodeOne 主题演讲:Java,未来已来

  • 2018-11-07
  • 本文字数:2367 字

    阅读完需:约 8 分钟

CodeOne 主题演讲:Java,未来已来

在上一次 JavaOne 大会之后,首届 Oracle CodeOne 大会最近于美国旧金山举行。周一晚上主旨演讲的头条是“Java:未来已来(The Future of Java Is Today)”,其中包括:新的每半年发布一次的 Java/JDK 的发布节奏正按计划进行;Oracle 和许多其他组织将继续支持 Java 并为之做出贡献;有几个新的 OpenJDK 项目在探索提高生产力的语言功能,比如,原始字符串字面量(raw String literals)、纤程(fiber)和 Continuation、外部函数和数据接口。

在 Java 平台团队软件开发副总裁 Georges Saab 简短的欢迎致辞后,第一个上台演讲的是 GitHub 的现场维护和支持服务(Field Services)副总裁 Matthew McCullough。他强调了 Java 平台的开源参考实现 OpenJDK 的重要性,并讨论了“ Skara 项目”,该项目是官方 OpenJDK 上游 Mercurial 存储库基于 GitHub 原型的镜像。

Skara 项目旨在研究用于 JDK 源代码的源码管理和代码审查的备选项。McCullough 还谈到,大多数“有重大影响力的软件”都是全球协作开发的,并鼓励观众参与开源软件项目。为更好地说明这一目标,他还简单演示了几个 GitHub 的新功能。

值得一提的是,Skara 项目还处在早期阶段,目前是独立的,但和社区驱动的 AdoptOpenJDK 项目松散地保持一致。AdoptOpenJDK 项目也是上游 OpenJDK 存储库的镜像,并提供所有最新的和未来的 JDK 版本的构建,目标是为 Java(包括最近发布的 Java 11)的长期支持(Long Term Support,简称 LTS)版本提供四年的构建和最好的社区支持。为 AdoptOpenJDK 项目提供商业支持的有 IBM、Azul Systems,LJC、微软、Ocado Technology 和 Packet。

Saab 重回台上后,讨论了“保留 Java 优点”的相关话题。Java 将继续免费和开源,社区致力于提供平台的完整性,并投资于开发人员生产力和兼容性。在质量和安全上也持续地进行投入,并保持开放和透明的发展。

讲到 Oracle 的贡献时,Saab 展示了最近开源的几个之前是商业 Java 平台的功能:在 Java 10 中有应用类数据共享(Application Class Data Sharing,简称 ACDS);在 Java 11 中有 ZGC 项目(用于几千兆堆的低延迟 GC)、飞行记录器任务控制(用于诊断和监控)。

新的每半年一次的发布计划已经成功交付,它为Java 平台提供逐步改进,并使开发人员能够更快地访问到新功能,“不再有破坏性的主要版本”(如果计划的功能错过了发布截止日期,那么就放到下一次的发布)。Saab 简单提了提新的LTS 版本和Oracle 支持模式,关于这些,在社区内目前存在很多困惑(InfoQ 最近报道了与该主题相关的“Java 还是免费的”Java Champion 声明)。

该主旨演讲部分的结尾,是向OpenJDK 社区中很多贡献者的致谢感言,同时也提到了几个Oracle 资助的Java 社区支持项目,包括 Java Magazine Java User Groups Java Champions jDuchess 项目 Oracle Academy Student Outreach 以及 Java Community Process(简称 JCP)

接下来演讲的是 Oracle 的 Java 平台团队首席架构师 Mark Reinhold。演讲一开始,他先提醒听众,迁移到新的 Java 模块系统(JEP 261)是个非常大的挑战,因为需要重写大量内部组件。但是,自从 Java 9 中发布该功能以来,应用效果一直不错,并且开始实现了收益。Reinhold 鼓励每个 Java 开发人员都看看这个新功能,并给大家推荐了几本入门书。

新的模块化架构改进了平台发布节奏,并回应了 Saab 早先的评论,Reinhold 提到了 Java 10 和 Java 11 成功地按时交付,也提到了 LTS 发布会带来的影响(主要是跟 Oracle 提供的商业支持有关,尽管其他供应商和 AdoptOpenJDK 计划也提供替代的构建和社区驱动以及商业支持模块)。

该部分主旨演讲的核心信息是“Java 仍然免费”,OracleJDK 和 OpenJDK 构建非常类似(尤其是首个每半年一次的 LTS 发布,尽管构建可能在此日期后会出现分歧,这取决于会发布什么安全性和错误补丁到上游 OpenJDK 存储库)。Reinhold 提到了“关于新发布模型的五大误解”,其中包括错误地认为,非 LTS 发布是实验性的,如果维护的是不经常迁移的系统,那么可以忽略非 LTS 的发布。

他还讨论了用最新的 Java 版本测试开源项目的社区工作,提到了两个推特标签:#WorksFineOnJDK9 和#WorksLikeHeavenOnJDK11。强烈建议所有在使用 Java 9 或更高版本的开发人员升级到最新的版本,包括所有在使用的工具和依赖项。

接着,Reinhold 换了一个话题,开始展望未来。目前,Java 12 / JDK 12 有 4 个与之相关的 JEP(到目前为止),包括(启用命令行标志)新 switch 表达式的预览和原始字符串字面量,以及“一个 AArch64 端口,而非两个”和默认的 CDS 存档。“面对编程范例、应用领域、部署风格和硬件的不断发展”,几个未来功能的重点放在了开发人员的生产力和程序性能上。

该主旨演讲的最后部分重点介绍了 4 个 OpenJDK 的新项目。

  • Amber :“调整语言仪式的大小”,包括局部变量类型推断、无需转义排序的原始字符串字面量。

  • Loom :“Continuations 和纤程”,包括删除旧的“无意义”或与线程有关的不良 API 方法,添加纤程,即“由 Java 虚拟机管理的轻量级高效线程、让开发人员能够使用同样简单的抽象,但具有更好的性能和占用更小的空间”。

  • Panama :非 Java 外部函数和数据接口,包括从 JVM(C、C++)调用本机函数和从 JVM 或 JVM 堆访问本机数据

  • Valhalla :Value 类型和专用的泛型。

Reinhold 展示了一系列实时编码演示,用的是最新(未发布)Java 12 build,其中的示例可以从以上链接的各个项目网站上找到。

社区对该 Java 主题演讲的反应总体上是积极的,Paul Bakker 表示“CodeOne!上的主旨演讲很棒,Java 生态系统看起来比以往更好。”Chris Hegerty 评论道:“CodeOne!上的主旨演讲很棒,尤其是 Mark Reinhold 讲解技术的那部分”。

阅读英文原文: The Future of Java is Today: CodeOne (née JavaOne) Keynote Highlights

感谢冬雨对本文的审校。

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2018-11-07 18:402916
用户头像

发布了 199 篇内容, 共 79.0 次阅读, 收获喜欢 292 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

2023-07-10:Kafka如何做到消息不丢失?

福大大架构师每日一题

福大大架构师每日一题

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

EOSdreamer111

一些有用的资料

Joseph295

Linux系统Tomcat安装与配置。

百度搜索:蓝易云

tomcat Linux 运维 云服务器 云服务器ECS

Istio与Mcp Server服务器讲解与搭建演示

谐云

istio

权衡矩阵-《敏捷实战-破解敏捷落地的60个难题》读后感

Bruce Talk

10分钟入门Flink--了解Flink

不焦躁的程序员

Java 大数据 flink

D3可视化

猫九

D3

websocket和http有什么不同?以及websocket协议如何实现?

百度搜索:蓝易云

Linux 运维 HTTP websocket

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

BlockChain先知

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

股市老人

AI写代码靠谱吗?

石云升

ChatGPT AI编码

代码随想录 Day13 - 栈与队列(下)

jjn0703

MyBatis查询所有

猫九

mybatis

面向大模型的存储加速方案设计和实践

Baidu AICLOUD

数据湖 大模型 并行文件系统 缓存加速

OpenTiny 前端组件库正式开源啦!面向未来,为开发者而生

OpenTiny社区

开源 前端 UI组件库

Linux系统下如何在防火墙开放指定端口

百度搜索:蓝易云

Linux 运维 服务器 云服务器 运维、

Ubuntu、CentOS修改时区、设置24小时时间格式教程。

百度搜索:蓝易云

云计算 Linux ubuntu centos 运维

C++中set的用法学习

向阳逐梦

Java程序性能分析:内存

javalover123

Java 性能优化 性能 性能分析 性能监控

支付宝小程序云产品发布会:6大产品20项亮点全揭秘

陈橘又青

小程序 云开发

Boundless Hackathon @Stanford 主题黑客松活动闭幕,一文回顾

大瞿科技

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

石头财经

架构师的核心工作:价值放大

高鹏

Java 深度思考 架构 架构师

Centos8升级到Centos 8 stream教程。

百度搜索:蓝易云

Linux 运维 服务器 云服务器 ECS

业务系统技术债治理终极指南

高鹏

Java 架构

AI 2.0来袭,AIGC如何重新定义招聘?

用友BIP

招聘

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

大瞿科技

机器学习洞察 | 分布式训练让机器学习更加快速准确

亚马逊云科技 (Amazon Web Services)

机器学习 分布式

Linux查看进程PID的方法?

百度搜索:蓝易云

Linux 运维 云服务器 PID 虚拟主机

什么是区块链?| 社区征文

TiAmo

区块链 以太坊 年中技术盘点

  • 扫码添加小助手
    领取最新资料包
CodeOne 主题演讲:Java,未来已来_语言 & 开发_Daniel Bryant_InfoQ精选文章