在 JavaOne 2016 主题演讲开场,来自 Oracle 的 Java 产品管理负责人 Sharat Chander 指出 Java 盛行于个人和工作的日常生活各个领域,无论是大数据、物联网甚至是云端!他给观众展示了一下 Oracle 学院,这可以让年轻的 Java 开发者获取相关知识、相互交流并参与到 Java 社区中。

      

  他谈及了一个名为 go.java 的 Oracle 的补充倡议,旨在激励下一代开发者继续学习。Oracle 同时为 Java 开发人员启动了一个新的开发者门户——Oracle Developer Gateway。

  接下来 Intel 软件与服务团队副总裁 Michael Greene 上台,他主要围绕“Java 使智慧、互联的世界成为可能”展开。Greene 将一个成长周期描述为智能设备驱动数据向云端迁移,最终改变企业本身的过程。

  他鼓励企业挖掘这个 Java 所提供的端到端的机会,并举例 Intel 是如何通过在 OpenJDK 上的合作帮助 Java 变得更简单、高效、易扩展。

  他之后将讲台让给来自 Cern(欧洲核子研究组织)的 Benjamin Wolff,Wolff 介绍了 Cern 运行在 JDK 上的大规模控制和监测设备及 ERP 系统。

  之后来自 Twitter 的工程副总裁 Nandini Ramani 上台加入 Greene 的演讲。Ramani 透露了 Twitter 无法应对在 2010 世界杯期间所产生的数据流量,以及他们如何做出工程上的决策,从单独的 Ruby-on-Rail 工程迁移到运行在 Linux 上基于 OpenJDK 的 Java、Scala 微服务架构。

  在最近的 2014 世界杯期间,Twitter 得以轻松处理 3500 万微博。

  接下来 Databricks 首席架构师兼联合创始人 Raynold Xin 谈论了 Apache Spark。Spark 应用的范围涉及从商业智能到机器学习(人工智能)以及实时数据分析。Xin 表示,JVM 首先需要通过增强矢量优化来改进数值计算,这其中 Panama 项目将扮演一个重要角色。

  其次,JVM 需要暴露低层次的硬件特性。

  之后 Oracle 开发副总裁 Georges Saab 上台并介绍了南卡罗莱纳大学研究教授 Anita Sengupta 博士。Sengupta 博士向观众深入介绍了诸多探测器在火星的研究成果,包括最新的好奇号火星车。

  她着重强调了火星和地球的异同,并谈论了他们在系统开发和测试中所付出的工程上的努力。Sengupta 博士之后通过一个可视化演示,展示了真实的着陆流程以及真实着陆及计算模型的着陆后分析。

  她论述了火星上不同的信息收集系统,如光谱感应器、气象感应器、生命形式探测仪。Sengupta 博士预言未来探索性科技的研究会将人类送往火星,她想知道人们是否会欢迎这样的探索并在新的世界定居。

    

  接下来 Saab 回到讲台,带领观众回顾了过去,然后论述了 Java 的成长及其中的哲学。(见下图)

    

  Saab 谈及需要满足开发者的效率要求,之后他宣布 Oracle JDK 很快将发布在 Docker 上。之后 Mazda 的 IT 解决方案部门员工经理 Masahiro Yoshioka 和 Wavefront 联合创始人兼首席架构师 Clement Pang 介绍了他们的成功案例。

  Saab 恳请观众升级到 Java 8,许多尝鲜者和开发人员已经下载了 Java SE 9。之后他邀请 Oracle Java 平台组首席架构师 Mark Reinhold 上台。

  Reinhold 从广受期待的 Java 9 开始,让观众一睹所有将要包含的 JDK 增强提案(JEP)。他谈及新的 JShell 交互式命令行(在 InfoQ 最近的新闻中已有介绍)。

  Reinhold 之后说到 Jigsaw 项目,这个项目为当前的一体化的平台定义了一个标准的模块化系统。模块化系统拥有可伸缩、易用、易兼容的特性。该模块化系统设计的原理内部提供了强大的封装和可靠的配置。之后他展示了使用 JShell 的例子:

    

  Reinhold 在讨论完 JShell 控制台后,拿出下图介绍了 72 个 Java 标准模块。

    

  他同时确认现存的代码可以毫无障碍地在上面运行。总体来说,如果应用只是使用 Java SE 类库,就可以毫无问题地运行在 Java 9 上。但内部 API 出于安全和集成的原因有所封装,所以应用如果对这些内部 API 有依赖那么可能会遇到问题。

  Reinhold 表示,JDK 将与 JLink 一起构建,他也展示了如何使用 JLink 来制作小型 JDK:

    

  之后 Reinhold 邀请 Oracle 的 Java 语言架构师 Brian Goetz 上台,谈论了 Java 10 以及之后的发展。Goetz 讨论了样板代码(boilerplate code),以及如何将它们从简单的域类(domain classes)中移除。

  他同时谈到了将类型推断(type inference)范围扩展到局部变量。Reinhold 就 Valhalla 和 Panama 这些大项目询问了 Goetz。InfoQ 已在对 JavaOne 2015 主题演讲的报道中对它们有所介绍。

  此次主题演讲由 Oracle 云应用基金会副总裁 Anil Gaur 压轴。

JavaOne 2016主旨演讲畅谈Java近期及远期规划的更多相关文章

  1. JavaOne 2016——观众得以一睹JShell的威力

    导读 在JavaOne 2016的主题演讲中,Java平台组的首席架构师Mark Reinhold指出Java 9并不仅仅是Jigsaw,针对Java 9,一共包含了85个JEP.我在这里会关注一个他 ...

  2. Java程序员职业规划

    Java 程序员职业规划 无论你是学习了 Java 即将进入企业工作,还是已经踏入了工作岗位的程序员.但是面对层出不穷的新技术,激增的就业压力,不断分化的开发角色,再加上 IT 发展的不明确,做出职业 ...

  3. 使用 IntelliJ IDEA 2016和Maven创建Java Web项目的详细步骤及相关问题解决办法

    Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工作,其 ...

  4. 2016网易春招Java在线笔试回忆录

    别看是在线笔试,但是非常严格,全称窗口不得最小化和关闭,转移,全称需要打开摄像头监控,使用草稿纸需要摄像头对准……反正2个小时,题量在那儿摆着,有作弊的功夫不如好好做做最后的编程题呢……网易不让泄漏原 ...

  5. 2016/9/25编写java实验报告时对synchronized(同步代码块)的一些感悟

    通过此次实验,明白了多线程的设置和启动.synchronized代码块的用法.线程的优先级使用方法.知道了那几类资源是线程共享的. 我现在理解的多线程是:实例化一个继承了Thread类或实现了Runn ...

  6. 2016年优秀的java网站分享

    java中文网站 伯乐在线java版:http://www.importnew.com/ 码农网:http://www.codeceo.com/ infoq:http://www.infoq.com/ ...

  7. 2016第20周四java基础概念

    简单的说JDK=JRE+Java编译器.调试器.工具类库等:JRE=JVM(类似于jre目录下的bin)+必要运行的类库(类似于jre目录下的lib) JVM:Java Virtual Mechina ...

  8. 专访 | 新浪架构师:0-5年Java工程师的职业规划如何做?

    经历了2018年末的阵痛,大家都积攒着一股暗劲蠢蠢欲动. 3月初即将迎来2019年互联网行业换工作的大潮,技术工程师的升级换位对于一家互联网公司来说无疑是命脉般的存在——技术强则公司强! 如何做一个抢 ...

  9. Java程序员职业生涯规划完整版:从程序员到CTO( 摘)

    在技巧方面无论我们怎么学习,总感觉需要晋升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高等特性 反射.泛型. ...

随机推荐

  1. docker容器备份、恢复和迁移volume方案

    volume作为数据的载体,在很多情况下需要对其中的数据进行备份.迁移或是恢复.下面一docker容器的volume为例,说一下备份的技巧. 我们先建立一个容器vol_simple,该容器在/date ...

  2. jzoj3086 [分層圖最短路]

    分層圖最短路即可 #include<bits/stdc++.h> using namespace std; #define N 1000010 int n,m,v[N*2],nxt[N*2 ...

  3. 关于Java抽象类,接口与实现接口及派生类继承基类

    1. 抽象类 抽象类就是有一个或多个方法只被声明而未被实现. 抽象方法的声明以分号结束,并且用关键字abstract来说明它以标识它为抽象方法. 格式: public abstract class 类 ...

  4. Swift 里字符串(十一)OC 字符串和 Swift 字符串的转换

     to OC func _bridgeToObjectiveCImpl() -> AnyObject { if _guts.isSmall { return _guts.asSmall.wit ...

  5. centos 部署.netcore 开发环境

    .netcore 2.0的安装,安装前,先参考官方文档 https://www.microsoft.com/net/core#linuxcentos 先做微软的签名校验工作 # sudo rpm -- ...

  6. [转载]windows下安装Python虚拟环境virtualenv,virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

  7. 课程一(Neural Networks and Deep Learning)总结——2、Deep Neural Networks

    Deep L-layer neural network 1 - General methodology As usual you will follow the Deep Learning metho ...

  8. vector源码(参考STL源码--侯捷):空间分配导致迭代器失效

    vector源码1(参考STL源码--侯捷) vector源码2(参考STL源码--侯捷) vector源码(参考STL源码--侯捷)-----空间分配导致迭代器失效 vector源码3(参考STL源 ...

  9. puppet的使用:ERB模板介绍

    ERB介绍 全称是Embedded RuBy,意思是嵌入式的Ruby,是一种文本模板技术,用过JSP的话,会发现两者语法很像. 我们项目中一般用ERB来产生各模块的配置文件.ERB模板也可以用来产生W ...

  10. Python -----issubclass和isinstance

    issubclass用于判断一个类是否为另一个类的子类,isinstance用于判断一个对象是否某类的一个实例 import math class Point: def __init__(self, ...