新一代Java技术即将出现

【日经BP社报道】 Java技术自问世时光已经过去了9个年头。作为一名一直关注其成长的记者,曾经一段时间有过这样的想法:“Java技术已经成熟,是不是发展速度该放慢一些了呢”。然而,这种想法错了。近来Java技术的进化相当显著。Java技术正在迎来“又一次革命”的风暴。这就是本文的结论。

  “又一次”指的是什么?“革命”指的又是什么?光看结论的话肯定是一头雾水。其实,笔者要讲的并不是变化这样一个事实,而是“促进变化的原动力”。是什么让Java技术发生变化?让我们从这一角度出发,先看一下Java的变化历程。

Java正处于转变期

  回顾Java技术的发展历程,人们一定会感慨:2004年到2005年发生的变化如此之大,可以说“现在”正是Java技术的转换期。 Java技术由编程语言(Java语言)、运行环境(JVM:Java虚拟机)、框架(Java API群)组成,目前在每一个层面上都发生着巨大的变化。

(1)编程语言的变化

  Java语言标准出现明显变化。在2004年9月发布的正式版本J2SE5.0(J2SE:Java2 Standard, Standard Edition,Java技术的核心运行环境)中,对Java语言标准中的Generics与元数据进行了大幅扩展。出现了被认为是“自Java问世以来的最大一次语言标准变化”(美国Sun Microsystems)。这次语言标准的变化给许多Java API带来了影响。许多企业API的新版本都引入了基于元数据的注解(程序中记录的附加信息),以较短的编码记述更多的信息。

(2)Java运行环境的变化

  在J2SE5.0中,大幅度强化了JVM的管理功能与实用性,换句话说就是具备了Java执行OS(操作系统)的特征。例如,原来在J2EE (Java2 Platform, Enterprise Edition,构筑企业系统的Java技术)领域,标准配备有作为管理功能的应用软件管理框架JMX。不仅如此,还配备有JVM自身监控功能((JSR 174: Monitoring and Management Specification for the Java Virtual Machine)。在标准功能架构中可以实时监视JVM运行时的状态,也就是内存使用量、线程状态等。

  J2SE5.0中新追加的功能中包括并行处理实用程序(JSR 166),其基础是纽约州立大学Doug Lea提供的程序库。也就是说,标准规格中采用了来自民间的程序库。

(3)框架的变化

  服务器端的Java框架也发生了巨大变化。企业级Java技术--J2EE的“使用方法”说明文件“J2EE Blueprint”中,提出了将应用软件分为Web层、EJB层(Enterprise JavaBeans,将包括事务处理在内的业务进程模块化的框架)来构筑的思路。这两种层次都迎来了架构更替时期。Web层的新框架为JSF (JavaServer Faces,将模块组合起来构筑Web应用程序的框架),EJB层为标准方案中刚刚公布的下一代EJB规格“EJB3.0”。

  值得注意的是,促成框架发生变化的正是来自民间的源码开放软件。

  对JSF产生影响的是作为源码开放的Web层框架得到普及的Apache Struts。JSF是对Struts的思路进行改进的产物,JSF的Spec Lead(规格制定领袖)之一Craig R. McClanahan就是Struts的作者。

  对EJB3.0造成影响的也是民间源码开放软件。EJB3.0引入了DI(Dependency Injection,依赖注入)容器类(Container)与POJO(Plain Old Java Object)持久类这些新功能,大大减轻了编程的复杂性。这些概念因PicoContainer、Spring等源码开放软件的导入而引人注目。

  其背景在于用户对“目前的EJB过于复杂”的批评。原本由EJB反对派提出的设计思想与源码开放软件,却变成了EJB3.0的中心概念,显出了巨大的影响力。

(4)脚本语言

  在Java技术标准中新增加了编程语言Groovy(JSR 241)。这是一种可与Java语言无缝连接的脚本语言,有望以极短的程序完成相关处理。“在Java技术中添加Java以外的语言”,这听起来也许有些别扭,其实以前就有这样的呼声,希望将可以充分利用Java技术资源的脚本作为语言使用。Groovy本来是源码开放软件,最终得到认可,被采纳为标准规格。

  由上述可以看出,Java技术的构成要素正在发生巨大变化。就在不久以前,一提起服务器Java,“Servlet、JSP、EJB是重要的 API”这样的说明还占主流,但现在基于JSF和EJB3.0的应用程序已经变成了“面目全非”的程序。而在运行短程序或测试时,甚至还出现了不仅是 Java语言,连脚本语言都开始调用Java框架的情况。

  这些变化从大的方面来看的话,可以说是进一步发挥了Java面向对象的优势。当然,也包括提高开发效率、提高运行稳定性、简化运行管理等业务上的优势。

开发者团体是真正的“变革推动者”

  那么,这些变化的原动力来自哪里呢?为什么说“目前”正面临着“又一次变革”呢?理由如下:

  在Java技术的发展过程中,1999年到2000年是一个大的转折点。J2EE概念于1999年出现。日本国内的J2EE也在随后2~3年内得到正式普及,但这一技术体系早在5年前就已经确立。在我们眼前,新一代Java技术的轮廓正逐渐显现出来。

  JCP(Java Community Process)2.0于2000年问世。以会员制的组织形式推进Java技术的规格制订、总体发展方向则以委员会的方式决定。从而形成了不依赖特定企业的规格制订流程。这一组织形式历经近5年的时间,逐渐发展成“变革的推动者”。

  J2EE此前一直饱受批评,认为“Web层与EJB层的差距太大”、“EJB过于复杂”,但这也是因为这是一项实际使用的技术。JCP同样也遇到很多批评,称其“没有完全公开”、“制定的技术标准却不可思议地让Sun拥有知识产权”,但JCP却作为一个团体不断发展壮大。

  直接推动Java技术变化的当事者为5年前形成的基于团体的标准制订流程--JCP,但真正将讨论与技术纳入JCP的却是包括Java技术批评者在内的众多Java开发者团体。他们也是早期开展Java技术变革的先行者。由此诞生的下一代技术将会在2~3年后逐渐波及主流企业用户。

  Java技术的“变革推动者”为开发者团体。不受制于特定企业,通过众多需要Java的开发者的建议,Java技术正在不断发展进步

时间: 2024-10-27 16:11:29

新一代Java技术即将出现的相关文章

新一代Wi-Fi技术即将推广

8月31日,Wi-Fi组织发布了一份新白皮书,详细介绍Wi-Fi CERTIFIED n如何为连接技术在中国的暴发性增长提供支持.新白皮书描述了Wi-Fi产品在 中国市场的需求预期,讨论了Wi-Fi CERTIFIED n带来的技术进步(包括空间多流技术与高效机制),并展示了这种技术在移动网络.数字家庭和企业部署中的应用. Wi-Fi技术已经问世10余年了.起初,Wi-Fi技术是作为无线连接计算机和互联网的途径被引入,现在已经取得长足的进展.如今,我们可以看到各种各样标有Wi-Fi字样的设备,比

Java技术,IBM风格: 监视和判断问题

随着时间的推移,IBM 为它的 Java 运行时实现开发了许多监视和问题诊断设施.利用这些工具,IBM 支持团队.Java 应用程序开发人员和生产操作人员可以诊断和解决在 Java 开发中遇到的问题. 本文讨论三种主要的设施,因为它们是在 Java 技术的 IBM 实现的最新版本中实现的:跟踪引擎.转储引擎和 DTFJ 工具 API.它们都有助于 Java 开发人员判断问题的根源. 跟踪引擎 在判断软件的问题时,跟踪信息是一种强大的工具:可以使用它有效地研究问题场景(比如功能性错误.竞争状态和性

使用java技术在IE浏览器中打开WORD、EXCEL、PDF和TXT文件

问题描述 使用java技术在IE浏览器中打开WORD.EXCEL.PDF和TXT文件 #使用java技术在IE浏览器中打开WORD.EXCEL.PDF和TXT文件 解决方案 http://www.cnblogs.com/zhwl/p/3757069.htmlhttp://wenku.baidu.com/link?url=SfOc2hl0hB-xo9PhjQfXPLemBgg1aj1fV54AW39sk0cJ8_AgCc1_6hb6Lx5aQCF44ILHhn23dyenpOEiBcqJ3Qo1r

XML 和 Java 技术: 数据绑定的多种用法

xml|数据 除将 XML 用作一种简单数据格式之外,数据绑定是 XML 最流行的用法之一.即使刚刚入门的程序员也能在一种原生编程语言中使用 XML,并且在大多数情况下完全不需要任何的 XML 专门知识.本文并不是介绍解决方案,取而代之,Brett 介绍了一些讨论主题,鼓励您思考如何使用 XML 和数据绑定.欢迎在 XML 和 Java 技术讨论论坛上与别人一起分享您的想法. XML 用于业务而非技术 随着 XML 的日趋盛行,人们也越来越注重可用性.换句话说,程序员和管理者并不希望把 XML

2005年Java技术年度综述:融合与开放

2005年是Java10诞生10年,全世界的Java程序员通过不同的方式为Java庆祝生日,10年前还很幼稚的小东西,今天已经成为软件业的一个重要体系.在10年的发展历程中Java阵营诞生了许多杰出的思想,这些思想演化成众多的开发架构和开发工具,也因此导致Java技术派系众多,让架构师难于选择,应用系统复杂而且昂贵.为了这解决这个问题,Java专家们们提出一系列的新的技术规范,这些技术的目的就是使Java更简单,不仅仅是Java语言,还包括开发工具和框架.融合与开放成为2005年Java发展的主

整合PDF和Java技术

摘要 自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现.然而,Java应用开发中Adobe技术的支持相对滞后了. 自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现.然而,Java应用开发中Adobe技术的支持相对滞后了.这是个奇怪的现象,因为PDF文档是企业信息系统存储和交换信息的大势所趋,而Java技术特别适合这种应用.然而,Java开发人员似乎直到最近才获得成熟可用

新Java技术工具亮相游戏开发商大会

我觉得这条消息比较重要,也很有用,转到这 近日,在旧金山举行的2005年游戏开发商大会(Game Developers Conference)上,Sun Microsystems公司展示了新的具有高性能的产品,为游戏开发商提供了更具扩展性的新技术,可使他们创建更多的内容丰富的新游戏.除了Sun Game Server 原型机和Sun Grid技术的继续进步之外,开发商们还能从跨平台的Java技术.具有突 破性的Solaris 10操作系统.创造了世界性能记录的Sun的x64服务器和工作站,以及S

企业Java技术开发技巧2则

技巧 欢迎阅读本期的 Enterprise Java Technologies Tech Tips.下面你将获得使用企业 Java 技术和 API 的技巧,如 Java 2 Platform 和 Enterprise Edition (J2EE) 中的 Java 技术和技巧. 本文讨论: 自定义标记文件 和 JSP Pages 一同使用 Enterprise Beans 这些技巧是使用 Java 2, Enterprise Edition, v 1.4 SDK 开发的.您可以下载 SDK,网址为

Java技术实现数据库应用系统慨述

Java语言是Sun MicroSystems 公司于1995年正式命名并推出的一种面向对象的编程语言-OOP(abbr.Object Oriented Programming).Sun 公司说:Java 程序设计语言被设计成是 by programmers for programmers,其随着 Internet 的发展而广为流行.用它开发的系统"一次开发,到处运行"的特色以及程序开发设计时所体现出的面向对象的思想深深地触动着人们.它的语言简洁.集多种程序设计语言之大成,且面向对象.