推动Java前进--Java Strategy Keynote JavaOne 2011

简介:

每年的JavaOne都会发布关于Java未来发展的计划或愿景,在今年的Java Strategy Keynote中,Oracle则向大家描述了将如何推动Java继续前进。本文是JavaOne2011的官方博文,概述了Java Strategy Keynote中提及的重要内容。(2011.10.07最后更新)

周四的战略主旨演讲展示了Oracle在对待Java投资与创新方面的长期愿景。该议题包罗广泛,涉及技术,合作伙伴,宣言和路线图--从移动与手持设备,到桌面应用,再到云。早上,先由David Ward开始,他是Juniper Networks平台系统部门的CTO与首席架构师。Ward详述了在云时代开发者们认知并利用可编程的"由软件定义的网络"时代的必要性。Ward探究了直接对网络进行编程的应用接口,告之了它最得意的功能,使用网络设备确定实际的位置/拓扑,终端设备的功能,实时应用的要求,以及其它方面。总之,这些接口定义了一个双向的交互与可编程特性。Ward说道,"来源于网络的是对其拓扑的实时理解,而从应用空间到网络中去的是将通信引导到高效途径中"。

推动Java前进:三大支柱

随后,Hasan Rizvi,Oracle Fusion中间件与Java部门的高级副总裁,简要探讨了"推动Java前进"的三大支柱:正确的技术,Java社区,以及Oracle对Java的领导/管理。在该环节中,Rizvi提供了一个近期里程碑的记录,包括在今年夏天发布的JDK 7,正在开发中的(且由社区深度参与的)Java EE 7,JavaFX 2.0,以及刚刚针对Mac OS X发布的JDK 7预览版。他也提到了IBM,Apple以及SAP成为OpenJDK社区的成员,当然还有其它成员。
然后,Intel的Java技术主管Jason Gartner,RedHat的高级工程主管Mark Little博士,以及Intel的软件工程主管Steven Chin也走上台,加入到Rizvi的演讲中。Gartner宣布,上周发布了IBM平台上的Java 7,他也提到,尽管Oracle与IBM之间存在竞争关系,但Java平台基于标准的合作本质是它最强大的力量之一。他还稍稍讨论了Java EE 6的开放式开发成果,以及这对JBoss产品的益处。Chin讨论了Oracle与Intel之间的合作,在过去4年中,这一合作致使Java的性能在Intel硬件中提高了14倍。

延伸Java的触角

Adam Messinger,负责Java SE与Java ME产品线的副总裁,讨论了延伸Java的触角,以跨越新的应用模型及新的设备类型的目的。一种方法就是通过模块化,这是Java SE 8中的计划。同时,Java 7的Coin项目与Java 8的Lambda项目致力于更高的开发者生产效率。如下的路线图有清晰的描述:


65ebb27c536b0eb6cc2f75c2f04b45914d93b448

Rob Benso,Twitter的运行时系统主管,随后也与Messinger同台演讲。Benson详述了Twitter在需要一个成熟且有高伸缩能力的技术时,是如何应用Java的。"我们每天要处理大约2.3亿条推特,我们的流API每天要推送大约6TB的数据,并且我们的公共API每天要服务大约13亿个请求。所以我们期望中的运行时环境要能够处理当前及未来的通信量。"Twitter选择了Java,是由于它有一个庞大且充满活力的开源社区。Twitter当场宣布,他们已经加入了OpenJDK,同样也加入了JCP。
Messinger重申推进JavaFX在战略上的重要性,JavaFX是Oracle首要的RIA开发环境,它包含对已有Swing应用的交互,以及能进行可视化开发的JavaFX Scene Builder工具。随后,Messinger的同事Nandini Ramani提供了一个实验性的JavaFX游戏的原型,该原型能运行在多种便携设备上--包括Windows,Linux,甚至是Apple iPad。
Messinger还宣布了Oracle对JavaFX的开源计划,首先开源的是组件,然后是框架的其它部分。只要OpenJDK社区提出要求,这一开源计划就会执行。另外,他们还计划对JavaFX进行标准化,使它成为Java SE的一个标准组成,这可能要到Java 8之后了。

Java移动与嵌入式的三大目标

后来,Messinger谈到Oracle针对Java移动与嵌入式体系的三大目标--在Java SE设备与Java ME设备之间起到桥梁作用(同步CLDC与JDK的版本/聚合CDC与嵌入式Java SE应用),完整地涵盖嵌入式垂直市场,并在运行时环境与工具方面提供深度的内容与服务整合。这必将导致Java Card技术应用于极小设备,Java ME应用于小的嵌入式环境,而Java SE应用于更大的嵌入式市场。在真正的嵌入式领域中,ARM的执行副总裁Lance Howarth探讨了"无处不在的计算"的将来。作为制造商随处都使用的32位RISC微处理器(基于ARM的设备已经出厂了610万台),Howarth预测对于智能计算设备,我们很少意识到,也很少见到把Java作为实现这一设想的关键。对之后,移动手机应用商店GetJar的CEO Ilya Lars探讨他们对移动领域的愿景,以及他们对Java开放标准的提案。

Java EE路线图

Oracle开发部门的副总裁Cameron Purdy详述了Java EE路线图。Purdy提到Java EE是"企业级应用所依赖的唯一标准开发平台",这些应用可以跨越不同的社区,不同的软件提供商,以及不同的开源实现。他还讲到Java EE当前是企业级开发者的首选,它已经被下载4000万次了。Java EE的目标是使EE易于开发--在从事往常复杂而费解的任务时,EE会使Java开发者们感到更为自然,同时为下一代企业应用建立了一个开放的,由社区驱动的,且基于标准的平台。他探讨了很多Java EE 7的独创特性,如多租用(multi-tenancy),按需扩容(capacity on demand),以及自动提供(auto-provisioning),这些特性使高级云应用及其平台成为一种服务。
随后,ESPN的Sean Comerford与Purdy讨论了在ESPN.com在当前的企业需求中对Java EE的选择。"Glassfish给了我们相同的性能,但与其它可选技术相比,它还具备高得多的可伸缩性。在处理每秒3000次请求的场景中,对我们的产品部署进行了测试。"对于ESPN,游戏的规则就是可伸缩性,还伴随着未来在任何地方、任何设备上提供服务的潜在可能。然后,Adam Messinger以对Avatar项目的介绍结束了本场会议。Avatar项目是Oracle针对动态富客户端的混合编程模型,它在浏览器中集成HTML 5作为UI,使Java应用作为控制器与模型,而Java EE 7则在后台的云中--这统一了Java ME,Java SE和Java EE。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
3天前
|
安全 Java 调度
Java线程:深入理解与实战应用
Java线程:深入理解与实战应用
20 0
|
22小时前
|
消息中间件 缓存 NoSQL
Java多线程实战-CompletableFuture异步编程优化查询接口响应速度
Java多线程实战-CompletableFuture异步编程优化查询接口响应速度
|
1天前
|
数据采集 存储 Java
高德地图爬虫实践:Java多线程并发处理策略
高德地图爬虫实践:Java多线程并发处理策略
|
1天前
|
缓存 Java
【Java基础】简说多线程(上)
【Java基础】简说多线程(上)
5 0
|
2天前
|
并行计算 算法 安全
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
|
2天前
|
安全 Java 编译器
是时候来唠一唠synchronized关键字了,Java多线程的必问考点!
本文简要介绍了Java中的`synchronized`关键字,它是用于保证多线程环境下的同步,解决原子性、可见性和顺序性问题。从JDK1.6开始,synchronized进行了优化,性能得到提升,现在仍可在项目中使用。synchronized有三种用法:修饰实例方法、静态方法和代码块。文章还讨论了synchronized修饰代码块的锁对象、静态与非静态方法调用的互斥性,以及构造方法不能被同步修饰。此外,通过反汇编展示了`synchronized`在方法和代码块上的底层实现,涉及ObjectMonitor和monitorenter/monitorexit指令。
15 0
|
2天前
|
监控 安全 Java
在Java中如何优雅的停止一个线程?可别再用Thread.stop()了!
在Java中如何优雅的停止一个线程?可别再用Thread.stop()了!
10 2
|
2天前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
28 1
|
2天前
|
安全 Java
Java基础教程(15)-多线程基础
【4月更文挑战第15天】Java内置多线程支持,通过Thread类或Runnable接口实现。线程状态包括New、Runnable、Blocked、Waiting、Timed Waiting和Terminated。启动线程调用start(),中断线程用interrupt(),同步用synchronized关键字。线程安全包如java.util.concurrent提供并发集合和原子操作。线程池如ExecutorService简化任务管理,Callable接口允许返回值,Future配合获取异步结果。Java 8引入CompletableFuture支持回调。