在上一次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

感谢冬雨对本文的审校。

CodeOne 主题演讲:Java,未来已来相关推荐

  1. 主题演讲:未来新趋势电动车

    主题:未来新趋势电动车 还记得两个月以前我介绍了一下智能家居, 转眼两个月过去,各大IT厂商更激烈的拼杀的状态, google发布的垃圾桶路由器, 国内的手机厂商对智能硬件一个入口一给你插座的拼杀, ...

  2. 雷军主题演讲:未来10年是移动互联网的天下

    大家早上好,非常感谢GGV给我这次机会跟大家交流,首先祝贺GGV成立15周年,GGV在我心里是一家非常优秀的基金,我跟GGV渊源很深,认识绩勋(符绩勋,GGV管理合伙人).Jenny(李宏玮,GGV管 ...

  3. 25+AI技术主题演讲及项目展示!英特尔AI全球影响力嘉年华开启,全球AI人才线上群聚

    英特尔AI全球影响力嘉年华 用AI创新丰富每个人的生活 活动地址: https://aiglobalimpactfestival.org/ 英特尔AI全球影响力嘉年华来啦! 来自20多个国家和地区的参 ...

  4. Microsoft 365及应用开发的未来:微软BUILD 2018大会第二天主题演讲

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ Joe Belfiore是微软操作系统组全球副总裁,他主持了微软Build大会第二天的主题演 ...

  5. 开放鸿蒙,未来可循:一文读懂华为开发者大会2021主题演讲

    2021年10月22日,华为开发者大会2021(Together)在东莞如期揭幕. 在长达将近三个小时的主题演讲中,华为不但发布了HarmonyOS 3开发者预览版.HMS Core 6等一系列全新开 ...

  6. 5G,未来已来——清华EMBA主题沙龙

    未来已经来,带有浓郁的宣传色彩,多用于展现对于未来先机的洞察和把握.但在5G的问题上,大家都非常清楚,未来属于5G,且蕴藏着巨大的商机,这是没有什么争议的.5G的时代已经到来,这也是目前社会的广泛共识 ...

  7. 指令集CEO潘爱民受邀参加“OPPO 2020未来科技大会”,并发表主题演讲

    11月17-18日,OPPO 2020年未来科技大会于深圳召开,指令集CEO潘爱民博士受邀发表主题演讲"物联网操作系统新进展". OPPO 未来科技大会是OPPO 一年一度面向全球 ...

  8. AMD在CES 2023开幕主题演讲中强调高性能和自适应计算的未来

    在CES 2023上,AMD董事会主席兼首席执行官苏姿丰博士(Dr. Lisa Su)详细介绍了高性能计算和自适应计算在创造解决方案以应对全球最重要的挑战时所发挥的重要作用.在她的现场主题演讲中,苏姿 ...

  9. javaone_JavaOne 2012:JavaOne技术主题演讲

    javaone Mark Reinhold从JavaOne 2012技术主题演讲开始. 他说,今年的版本将有所不同,因为它将使用大致相同的示例来说明Java的各个方面,而不是对Java的每个组件进行单 ...

最新文章

  1. linux apache无法启动,linux mysq 无法启动 apache 无法启动
  2. web性能优化之事件节流
  3. 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7
  4. 机器学习理论《统计学习方法》学习笔记:第五章 决策树
  5. Android复习12【广播接收者-BroadcastReceiver(简单案例-发送广播、静态注册、动态注册、本地广播、代码示例(别处登陆踢用户下线)、常用系统广播总结、音乐播放器)】
  6. 【Heritrix基础教程之1】在Eclipse中配置Heritrix
  7. 让vs2008支持jQuery的智能提示!
  8. 李善友:为什么外企人不敢创业
  9. linux录制声卡声音_不是你唱歌难听,选对麦克风和声卡了吗?
  10. 方舟无限资源服务器,方舟生存进化怎么无限资源
  11. 收藏:通俗讲解计算机工作原理
  12. 加速求解两个矩阵任意两行之间的pearson相关性
  13. 怎样计算机翼升力大小,飞机的升力系数如何计算
  14. App推广渠道如何统计的解决方案
  15. Swift中的下标(subscript)
  16. 【人工智能】【1024】谷歌量子计算突破登Nature封面,号称200秒顶超算10000年!
  17. node+express+mysql搭建一个系统
  18. NLP文本分析(文本分类与句子评分)
  19. fastadmin框架前台常用语句
  20. c java sha1加密解密_java HMACSHA1加密算法

热门文章

  1. if函数判断单元格颜色_13个动图小技巧与5个常用函数,学会它们,小白也能变大神...
  2. 计算机机房规范管理,计算机中心机房建设及管理规范.doc
  3. 设置行间距_[EndNote]如何修改文末参考文献行间距?
  4. threejs加载模型挤压变形_【技研】挤压铸造铝合金转向节开发
  5. 得到java异常printStackTrace的详细信息
  6. php 显示要上传的图片格式,php判断文件上传图片格式的实例详解
  7. python内置模块re_Python常用内建模块-re模块(正则表达式)
  8. vscode创建工作区_区领导调研工业区高楼村乡村振兴示范村创建工作!
  9. linux文件的权限模式,Linux文件权限和访问模式
  10. 一款NPN三极管测量: BC547C