对java来说,2010年是不平凡的一年,从oracle在年初完成对 sun的收购,使大家对java的未来充满了关注,而12月份在北京进行的javaone大会,可以说是oracle在收购sun之后的第一次正式大会, 大家可以从javaone上更多了解了java未来的发展。而2011年,将成为java新的开始。

java走过了它15年的历程,在日新月异的it技术领域不算年轻,但它一直没有停下变革、创新的脚步。java已经不单单是一种计算机语言,很多情况 下,我们称它是一个平台,一个社区。下面从java se、java ee、java me、javafx几个方面,展望java技术在2011年的发展。
java se从 oracle公布的java未来战略我们可以看到,oracle目标是加强和继续扩大java在新领域的应用,并将java平台纳入新的部署架构,加大对 java社区的投资,允许社区更多地参与。开发人员比较关注的java se 7将会在2011年夏天就绪,其中jcp已经批准了jsr 334、jsr 335、jsr 336和jsr 337等,支持改进java语言和api规范,比如switch in string、multi-catch、泛型实例创建中的precise rethrow、lambda表达式(闭包)等。而java se 8也将在se 7发布之后的一年到一年半的时间就绪。
java se 7展望:
模块化的vm:可以将vm拆分成小块由应用程序使用,并按需推向internet,这样的结果是java应用程序的启动时间更短了,当vm不在目标机器上时,下载的时间也更短了。
额外的语言支持:java平台支持用不同语言编写的应用程序,未来将会添加更多的语言支持,当然也包括对动态语言的支持,这就是所谓的达芬奇机或多语言虚拟机,请参考jsr-292。
增强的多核支持:需要借助工具、库和内置设施帮助新的和现有的java应用程序更有效地利用多核硬件的优势,java的线程模型可以轻松地创建并行执行任务的线程,但你如何将一个单一的任务拆分成多片进行并行执行呢?其它改进包括持续的性能改进,以及许多语言方面的增强,包括增加的闭包,在switch语句中对strings的支持,以及多块异常捕获,闭包是一个有争议的功能,它是通过使用匿名的java内部类实现的。
java eeoracle长期以来一直都是java的支持者,也是最大的jcp成员之一,10多年前就开始参与java ee规范的编制,因此对oracle成为java中间件市场的大鳄不应该感到意外。
java ee展望
模块化,开发标准:java ee 6通过配置文件(profile)定义实现了模块化java ee,允许厂商根据特定需求创建更小的java ee堆栈子集,解决成本和java ee使用复杂问题。通过模块化设计和定义标准,有助于简化java ee,让它的应用领域更广泛。
java ee 6规定了两种配置文件:web配置文件(servlet,jsp和jsf)和java ee企业配置文件。显然还可以定义更多的配置文件种类,例如,为支持会话初始化协议(sip)定义电信服务器配置文件。
ui和ria:html仍然是java ee应用程序隐含的ui协议,通常有java servlet,jsp和jsf生成,考虑到生产的web页面是静态的,可以使用ajax技术,不过它已经超出了java ee的范畴。虽然oracle没有明确这方面的具体计划,但未来java ee和javafx集成时将会解决ajax问题。
java me作为 oracle 首选的移动环境的 java,这个堆栈未来默认的呈现方式将会是 html, css 和 javascript。java me 将包含 webkit 引擎,javascript. 引擎,和 java/javascript. 桥,换言之,未来运行新版 java me 的手机,将能够访问浏览器以外的 web 服务,而不会有任何性能问题。这些引擎将直接插入 java me 虚拟机和插入 java fx。
oracle 的 java me 引擎,将利用当代图形硬件加速器所擅长的(60 frames/秒)二维和三维渲染(在 windows 环境下,微软的 direct x,还有 opengl 或未来“更好”的技术)。 java me 将会针对 arm7 和 arm9 芯片组进行优化,包括 broadcom,三星,nec,德州仪器,以及其他取得授权的手机部件制造商,还将内置充分利用手机装置的支付,通话,和定位等功能的 api。
javafx随着 javafx 和 java 的整合,并运行于 jvm 之上,它的富媒体处理及二维和三维渲染功能,也将能提供给任何在 jvm 上运行的其他编程语言,这意味着,例如 groovy, scala 和 jruby 等也都能用来整合 javafx 的能力。
javafx展望:基于可视化组件创建一个设计范式
为javafx应用程序创建一个丰富的ui扩展库
提升所有平台的javafx性能
增强跨设备移植javafx应用程序的能力
与java,javascript和html 5无缝集成
支持新兴设备和ui范式(如多点触摸)