在JavaOne 2016主题演讲开场,来自Oracle的Java产品管理负责人Sharat Chander指出Java盛行于个人和工作的日常生活各个领域,无论是大数据、物联网甚至是云端!他给观众展示了一下Oracle学院,这可以让年轻的Java开发者获取相关知识、相互交流并参与到Java社区中。
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
他谈及了一个名为go.java的Oracle的补充倡议,旨在激励下一代开发者继续学习。Oracle同时为Java开发人员启动了一个新的开发者门户——Oracle Developer Gateway。
\u0026#xD;\n\u0026#xD;\n
接下来Intel软件与服务团队副总裁Michael Greene上台,他主要围绕“Java使智慧、互联的世界成为可能”展开。Greene将一个成长周期描述为智能设备驱动数据向云端迁移,最终改变企业本身的过程。他鼓励企业挖掘这个Java所提供的端到端的机会,并举例Intel是如何通过在OpenJDK上的合作帮助Java变得更简单、高效、易扩展。他之后将讲台让给来自Cern(欧洲核子研究组织)的Benjamin Wolff,Wolff介绍了Cern运行在JDK上的大规模控制和监测设备及ERP系统。
\u0026#xD;\n\u0026#xD;\n
之后来自Twitter的工程副总裁Nandini Ramani上台加入Greene的演讲。Ramani透露了Twitter无法应对在2010世界杯期间所产生的数据流量,以及他们如何做出工程上的决策,从单独的Ruby-on-Rail工程迁移到运行在Linux上基于OpenJDK的Java、Scala微服务架构。在最近的2014世界杯期间,Twitter得以轻松处理3500万微博。
\u0026#xD;\n\u0026#xD;\n
接下来Databricks首席架构师兼联合创始人Raynold Xin谈论了Apache Spark。Spark应用的范围涉及从商业智能到机器学习(人工智能)以及实时数据分析。Xin表示,JVM首先需要通过增强矢量优化来改进数值计算,这其中Panama项目将扮演一个重要角色。其次,JVM需要暴露低层次的硬件特性。
\u0026#xD;\n\u0026#xD;\n
之后Oracle开发副总裁Georges Saab上台并介绍了南卡罗莱纳大学研究教授Anita Sengupta博士。Sengupta博士向观众深入介绍了诸多探测器在火星的研究成果,包括最新的好奇号火星车。她着重强调了火星和地球的异同,并谈论了他们在系统开发和测试中所付出的工程上的努力。Sengupta博士之后通过一个可视化演示,展示了真实的着陆流程以及真实着陆及计算模型的着陆后分析。她论述了火星上不同的信息收集系统,如光谱感应器、气象感应器、生命形式探测仪。Sengupta博士预言未来探索性科技的研究会将人类送往火星,她想知道人们是否会欢迎这样的探索并在新的世界定居。
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
接下来Saab回到讲台,带领观众回顾了过去,然后论述了Java的成长及其中的哲学。(见下图)
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
Saab谈及需要满足开发者的效率要求,之后他宣布Oracle JDK很快将发布在Docker上。之后Mazda的IT解决方案部门员工经理Masahiro Yoshioka和Wavefront联合创始人兼首席架构师Clement Pang介绍了他们的成功案例。Saab恳请观众升级到Java 8,许多尝鲜者和开发人员已经下载了Java SE 9。之后他邀请Oracle Java平台组首席架构师Mark Reinhold上台。
\u0026#xD;\n\u0026#xD;\n
Reinhold从广受期待的Java 9开始,让观众一睹所有将要包含的JDK增强提案(JEP)。他谈及新的JShell交互式命令行(在InfoQ最近的新闻中已有介绍)。Reinhold之后说到Jigsaw项目,这个项目为当前的一体化的平台定义了一个标准的模块化系统。模块化系统拥有可伸缩、易用、易兼容的特性。该模块化系统设计的原理内部提供了强大的封装和可靠的配置。之后他展示了使用JShell的例子:
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
Reinhold在讨论完JShell控制台后,拿出下图介绍了72个Java标准模块。
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
他同时确认现存的代码可以毫无障碍地在上面运行。总体来说,如果应用只是使用Java SE类库,就可以毫无问题地运行在Java 9上。但内部API出于安全和集成的原因有所封装,所以应用如果对这些内部API有依赖那么可能会遇到问题。
\u0026#xD;\n\u0026#xD;\n
Reinhold表示,JDK将与JLink一起构建,他也展示了如何使用JLink来制作小型JDK:
\u0026#xD;\n\u0026#xD;\n
\u0026#xD;\n\u0026#xD;\n
之后Reinhold邀请Oracle的Java语言架构师Brian Goetz上台,谈论了Java 10以及之后的发展。Goetz讨论了样板代码(boilerplate code),以及如何将它们从简单的领域类(domain classes)中移除。他同时谈到了将类型推断(type inference)范围扩展到局部变量。Reinhold就Valhalla和Panama这些大项目询问了Goetz。InfoQ已在对JavaOne 2015主题演讲的报道中对它们有所介绍。
\u0026#xD;\n\u0026#xD;\n
此次主题演讲由Oracle云应用基金会副总裁Anil Gaur压轴。想要了解更多Gaur的演讲,请参考InfoQ的相关报道。
\u0026#xD;\n\u0026#xD;\n
查看英文原文:JavaOne 2016 Keynotes Cover the Future of Java Near and Far
\u0026#xD;\n\u0026#xD;\n
感谢宋秉金对本文的审校。
\u0026#xD;\n\u0026#xD;\n
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。