会议 | JavaOne 2017参会报告

序言

2017年国庆节,蚂蚁金服的几位小伙伴们前去参加了Oracle在旧金山举行的JavaOne 2017会议。来自全球多家公司的技术专家和听众们齐聚一堂,分享、见证了世界最前沿的应用开发技术。

本次会议除了必备的Java语言平台最新特性介绍之外,还有几个有特色的话题,包括:云计算、FAAS、微服务、大数据、人工智能、区块链等热点或前沿技术。本文试着从中挑出java语言平台、FAAS给大家做一个介绍。

Java语言平台

1. JDK9的新特性
今年9月Oracle发布了JDK9版本,有许多新特性,本次大会也花了大量篇幅做了重点介绍。其中, Azul Systems公司的CTO对其做了一个精彩的总结,末尾展示了该公司自行研发的商业版JDK ---- Zulu Java的一些增强特性,值得大家借鉴。

  • JDK9最大的变化是模块化

正如其项目代号“拼图”(Jigsaw)所暗示的,新版的JDK对标准类库、API、源代码都进行了重组和模块化,封装了绝大多数内部API,sun.misc.Unsafe类也有了替代的使用方式(Variable Handles)。

模块化导致JDK/JRE的目录结构也发生了变化,JDK9删掉了jre/、tools.jar、rt.jar,其功能被conf/、jmods/取代。

  • 集合工厂方法

例如,List、Set、Map接口可以通过静态工厂方法of()直接填充出一个对象,省去了繁琐的代码。

Setset = Set.of("a", "b", "c");

等价于老代码:

Setset = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
set = Collections.unmodifiableSet(set);
  • 改进的Stream API

体现在很多细节方面,举几个例子:

  • 从Scala等语言中借鉴了不少特性。如takeWhile()/dropWhile()函数,我们平时用的skip()使用数字、而dropWhile()使用自定义谓词来跳过若干个元素。例如:
Stream.of(2, 4, 6, 8, 9, 10, 12)
    .dropWhile(n -> n % 2 == 0)
    .forEach(System.out::println);

将输出:
9
10
12

  • 增强了迭代器,用起来更像for循环。例如:
IntStream.iterate(1, i -> i < 100, i -> i + 1).forEach(System.out::println);

会输出从1到99。

  • 用内存映射(mmap)实现了高性能的Files.lines()方法,解决了JDK8中BufferedReader.lines()的性能问题。

详情参见:https://bugs.openjdk.java.net/browse/JDK-8072773(请将网址复制至浏览器中打开)

  • 终于有了交互式java控制台 ----Jshell。

  • JVM增强

G1成为JDK9的默认垃圾回收器。众所周知G1的停顿时间短,但某些情况下G1仍然会触发Full GC导致长时间停顿。Azul Systems公司研发的付费版Zing JVM就可以解决这个问题,它使用C4(Continuously Concurrent Compacting Collector)垃圾回收算法,有很高的回收效率。

从上表可以看出,C4算法消除了“stop-the-world”这种负面影响。其本质是通过在JVM中创建一个虚拟地址映射表,GC线程和工作线程共享该映射表、相互协作、lazy的方式规避了长时间的线程间互相等待。当GC线程先占据某对象内存并将其移到压缩区后,工作线程访问该对象时需要根据映射表重新定位;当工作线程先占据该对象后,发现GC线程已经将其标记为要移动,则协助GC线程完成部分移动工作,确保虚拟地址正确,然后紧接着处理自己的业务指令,GC线程会接管完成后续的扫尾工作。

JDK9还有许多其他方面的小改进,如jar包中可以发布多个版本、字符串性能提升等,就不再赘述了。

2. Java EE相关
Oracle的VP做了关于Java EE8的更新报告。更新点包括:

  • JSON Binding API
  • JAS-RS reactive client API,及对服务端推送事件的支持
  • Servlet对HTTP/2的支持
  • JAVA EE新的安全相关API
  • Bean Validation 和 CDI的新特性

多位其他Speaker分别对这些点进行了阐述和演示。关于Java EE的应用,有一个跟蚂蚁的业务相关度较高----使用EE搭建一个内容推荐引擎,重点介绍一下。

实现推荐的过程是准备数据、建立关联、再通过图形搜索相关联的节点得到推荐结果,本案例实际上是使用EE4J,通过JNoSQL+图计算框架+图形数据库创建。

JNoSQL包括通信API:Diana,以及在其上面使用了CDI的映射API:Artemis。重点是Graph引擎,使用了Apache开源项目TinkerPop. TinkerPop是一个图形计算框架,重在计算,下层需要有存储系统,它可以支持图形数据库,也能支持图形分析系统,如ArangoDB,Keyline,MongoDB,Hadoop,Titan,Neo4j等。有了这样的架构,开发者就可以很轻松的通过DAO来操纵图形数据,从而方便的写出推荐业务逻辑。本案例还给出了使用TinkerPop与传统SQL之间复杂度的对比,说明为什么要使用图形引擎。

在Keynotes专场会议里,阿里的AJDK大放异彩,研究员英通讲解了AJDK在双11的应用场景,庞大的业务数据震撼了全场。

Serverless FAAS和云计算

Serverless FAAS是本次大会的一个亮点, Luminis公司的Bert Ertman做了演讲,介绍了FAAS的发展历史,技术实现,业内实例,技术支撑体系,以及serverless的优点。结论就是:

FAAS其本质是一种比云计算更彻底的托管,用户只需关注编写自己的业务逻辑函数,其余的全由托管服务完成。预测无服务器架构有可能成为未来架构的一个趋势。

Bert Ertman列举了Serverless的几个优点:

  • 很容易被云计算用户接受(“托管”的概念很是类似)
  • 把java函数提升为一等公民(应该是从语言发展&应用角度说的)
  • 基于事件、无状态(意味着写业务代码简洁方便)
  • 理论上可无限扩展(无状态,当然容易水平扩容)
  • 与传统部署模型不同(部署起来简单)
  • 其他经济方面的利益

但小编认为,凡事都有两面性,Serverless FAAS这种模式严重受限于托管服务提供商,各提供商的接口规范可不一定能很快标准化,可以想象一下受限于某一个服务提供商的害处……

此外,关于云计算方面,介绍了Java开发者使用Docker, Kubernetes, OpenShift来构建应用,演示了各种实例demo,在这里就不一一说明了。

会议总结

这次JavaOne会议的涉及的技术内容相当广泛,报告者均来自全球非常有实力的公司,技术思路新颖清晰,对与会者有很大的启示。最后,附上本文相关的演讲资料,大部分讲义可以在这里下载到:
https://events.rainfocus.com/catalog/oracle/oow17/catalogjavaone17(请将网址复制至浏览器中打开即可查看)

放一张外景图作为结束。

时间: 2024-09-22 23:13:41

会议 | JavaOne 2017参会报告的相关文章

KDD 2017 参会报告

本次参会报告由技术发展部黑屏:阿里云飞天一部杰铭.布晓.吴双:阿里妈妈产品技术部永叔.怀人:集团安全部裕宏等同学一起撰写.希望大家积极交流,踊跃发表看法. 一 背景:(杰铭) KDD的全称是ACM SIGKDD Conference on Knowledge Discovery and Data Mining.SIGKDD是ACM在数据挖掘领域的顶级学术会议,每年都吸引着超过2000位来自世界各地的顶级数据挖掘学者,以及知名企业代表前来参加.然而,大会的论文接收每年却仅约200篇,接收率不超过1

DT科技评论第26期:人工智能界年度顶级会议AAAI 2017最佳论文出炉

DT科技评论 Data Technology Review 第 26 期           人民网研究院,阿里云研究中心 本期目录 人工智能界年度顶级会议AAAI 2017最佳论文出炉 巨舰再起航 Salesforce以AI+CRM再战江湖 物联网监测雾霾 美国城市向家庭智能硬件推送空气质量信息 Swarm AI精确预测超级碗最终比分 大逆转剧情难逃群集智能预测 拨款2450万美元建立"无人小镇" 韩国政府也要支持无人驾驶上路 AI如何助力电网智能化? 人工智能芯片收益显著 NVID

Verizon《市场状况:物联网2017》报告的十大摘要

麻烦让点地方,消费者应用程序:Verizon的<市场状况:物联网2017>报告表示,物联网今年正在进军企业领域. Verizon的第三份年度报告通过原始和第三方研究.以及案例研究来了解物联网的商业价值.今年,物联网在平台开发和安全等方面取得了长足的进步.虽然物联网对于企业来说正在变得更加友好,不再仅是一个消费者游戏,但企业采用的速度仍然很慢,这为解决方案提供商提供了空间,他们可以介入进来,帮助他们的客户考虑使用物联网来改善自己的业务. 这里是摘自Verizon的报告的十大摘要. 企业应用状况

国际顶级人工智能会议AAAI 2017 开幕在即,雷锋网奉上四大看点集锦 | AAAI 2017

 2 月 4 日至 2 月 9 日,当我们还沉浸在浓浓的新年气氛时,远在大洋彼岸的旧金山即将迎来人工智能的国际顶级会议--AAAI 2017. 雷锋网旗下人工智能公众号「AI 科技评论」作为前赴第一线现场报道的中国媒体,在会前为大家梳理了一份 AAAI 2017 的看点集锦,同样,我们也会在期间举办「AAAI 中国之夜」的活动,详情可见文后介绍. AAAI 原为 American Association for Artificial Intelligence 的缩写,后于 2007 年更名为「N

千人千面智能淘宝店铺背后的算法研究登陆人工智能顶级会议AAAI 2017

电商时代,消费者对推荐系统已经不再陌生."蓦然回首",你发现喜欢的商品就在首页显眼处. 如今,不仅仅是电商网站首页会给你贴心推荐.你逛进一家淘宝商家的店铺,也很有可能享受到推荐算法的服务. 这是阿里商家事业部推出的智能店铺"千人千面"模块. 阿里商家事业部相关负责人介绍,单纯通过算法做出的商品推荐,未必符合商家利益.常有商家抱怨,自家想卖的商品得不到推荐,营销被算法牵着鼻子走.而"千人千面",就是先让商家给出他们想要推送的商品集,算法再从指定候选

新浪搜狐报道十一届全国人大五次会议作政府工作报告,重点各有不同

据<证券时报>(www.stcn.com)统计,3月5日下午,新浪搜狐网易腾讯等主要门户网站报道均聚焦十一届全国人大五次会议作政府工作报告,其中,新浪重点报道了我国GDP预期增长目标八年来首次低于8%的新闻:温家宝表示,多数城市房价环比下降,调控效果正在显现的新闻:腾讯搜狐均重点报道了温家宝表示,任期最后一年绝不懈怠,以更大勇气改革的新闻. 此外,各门户网站还重点报道了坚决惩治渎职及腐败,严禁干部插手政府采购:今年教育支出占GDP4%,有望实现近20年前目标:加大调节高收入者税收,扭转差距扩大

HBaseCon2016参会报告

会议概要 2016年5月24日,HBaseCon2016于加州旧金山市内召开,我(绝顶)和大沙作为speaker参加了这次会议并在40分钟的session里介绍了HBase在阿里搜索场景中的应用及改进.本次会议参会的公司阵容包括谷歌.微软.苹果.FaceBook.阿里巴巴等,是有史以来最豪华的,也从一个侧面反应了HBase的发展前景和影响力.会议的主要session列表如下: 重点议题和内容 下面分别从开场.前沿技术细节和结尾展望等几个方面分别介绍本次会议的重要议题,各位同学可以选择感兴趣的部分

MongoDB World 2017 参会全记录

作者简介 张友东,阿里云数据库技术专家,Mongoing中文社区联合发起人,主要关注分布式存储.NoSQL数据库等技术领域,目前主要从事MongoDB云数据库的研发工作,致力于让开发者用上最好的MongoDB云服务,本次给大家分享上周(6.19-6.21)在芝加哥参加 MongoDB Wolrd 2017 的一些收获. MongoDB云数据库包年5折,包月6折活动火热进行中,猛击了解详情 云数据库 MongoDB 版 基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁

CVPR 主席专访:如何享受CVPR这场盛会? | CVPR 2017

雷锋网编者按:国际计算机视觉与模式识别顶级会议CVPR 2017于 7 月 21 日-7 月 26 日在美国夏威夷召开.我们的记者团也特赴夏威夷为大家带来一手报道. 据雷锋网了解,今年 CVPR是有史以来参会人数最多.论文数和规模均创新高的一届大会,共收到2620篇论文,最终由783篇论文被接受,4950名参会者注册参会,大会共设44 个 workshop 和 22 个 tutorial,覆盖包括语言.生物学.3D 建模.自动驾驶等计算机视觉的多个细分领域.规模和参会者的增加也使得大会的组织难度