`
fanjava
  • 浏览: 235876 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

新一代Java技术即将出现

阅读更多

Java技术自问世时光已经过去了9个年头。作为一名一直关注其成长的记者,曾经一段时间有过这样的想法:“Java技术已经成熟,是不是发展速度该放慢一些了呢”。然而,这种想法错了。近来Java技术的进化相当显著。Java技术正在迎来“又一次革命”的风暴。这就是本文的结论。
uo;又一次”指的是什么?“革命”指的又是什么?光看结论的话肯定是一头雾水。其实,笔者要讲的并不是变化这样一个事实,而是“促进变化的原动力”。是什么让Java技术发生变化?让我们从这一角度出发,先看一下Java的变化历程。

  Java正处于转变期

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

  (1)编程语言的变化

  Java语言标准出现明显变化。在2004年9月发布的正式版本J2SE5.0(J2SE:Java2 Platform, 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技术正在不断发展进步。

分享到:
评论

相关推荐

    新一代电信级核心路由器.pdf

    综上所述,新一代电信级核心路由器的先进技术,配合不断发展的移动通信标准和智能手机,共同推动了信息技术的快速发展,为用户提供更加高效、便捷和多元化的通信体验。同时,这也为电信运营商和服务提供商带来了新的...

    遗传算法 tsp java

    总之,遗传算法结合Java编程语言,为旅行商问题提供了一种有效的求解途径,不仅展示了遗传算法的强大优化能力,也体现了编程技术在解决实际问题中的价值。通过实践和学习,我们可以更好地理解和掌握这两种技术,并将...

    java6.0源码-java6-android-demoframework:为gldemos和即将推出的nvidiagameworks演示提供

    java6.0源码 为 gldemos 提供一个小的共享资源库。 此 repo 没有依赖项。 最新更新 (4.10.16):Android ...Java ...在业余时间完成了这项工作,并且即将推出更多演示。...下一代照片/视频引擎技术。 点击下图查看:

    数字电视技术深入分析和实际应用

    Java技术在机顶盒上的应用提高了交互性和可编程性。 #### 4. 扩展阅读 ##### 4.1 DASE、OCAP、MHP、GEM这么多中间件标准体系之间有啥关系 - **DASE(Digital Application Software on Embedded Systems)**:欧洲...

    SCADA系统概述

    第四代SCADA/EMS系统的基础条件已经或即将具备,将采用Internet技术、面向对象技术、神经网络技术以及JAVA技术等技术。 SCADA系统在电气化铁道远动系统上的应用技术上已经取得突破性进展,应用上也有迅猛的发展。...

    Portlets and Apache Portals

    - **未来特性:下一代portlet**:展望portlet技术的发展趋势,探讨即将出现的新特性和功能。 #### 六、使用Eclipse及其他工具开发portlet - **使用Eclipse开发portlet**:Eclipse是一个流行的集成开发环境(IDE)...

    电脑爱好者 2006年7月(上)第13期

    9. **游戏领域**:PC游戏如《魔兽世界》、《反恐精英》等热度不减,而新一代的游戏机如微软的Xbox 360、索尼的PlayStation 3即将发布,预示着家用游戏的新纪元。 10. **科技趋势**:云计算的概念初现端倪,虽然尚未...

    移动通信作业-手机发展史实用.pdf

    手机,作为移动通信技术的核心设备,从最初的模拟信号传输到现在的4G、5G甚至即将迎来的6G,经历了翻天覆地的变化。 1. **模拟网的发展(1G)** 第一代移动电话,通常被称为“大哥大”,在20世纪80年代由美国...

    软件设计师试题疑难解答

    - 微软新一代动态网页开发工具,运行机制类似JSP。 - 高性能与稳定性,适用于企业级应用开发。 **三、ASP与MySQL数据库连接** 在软件设计师考试中,掌握不同语言与数据库的连接方式同样重要。对于ASP来说,连接...

    BOS套打二次开发指南

    ReportOne系列的打印格式是新一代的套打模板格式,对应*.r1-print文件,被用来替代KDF格式。R1模板支持直接引用BOS的Query,但实际执行仍取决于集成代码。 3. **套打元数据(.bos-query)** 套打元数据文件(*.bos...

    网捷网络推出万兆以太网交换机及路由器.pdf

    NEC即将推出的N800手机是一款支持GPRS、Java和彩信的设备,尤其在中国市场,它可以实现即时的腾讯QQ功能和“移动百宝箱”业务。这款手机不仅外形时尚、技术领先,还具备卓越的性能,用户可以通过它下载游戏、动画、...

    Siga-Fatec-Pocket:下一代SIGA

    标题 "Siga-Fatec-Pocket:下一代SIGA" 暗示了这是一个与SIGA Fatec相关的项目,而且是其发展的一个新阶段,可能是进行了技术升级或功能增强。SIGA(System for Integrated Guard and Alarm)通常指的是一个集成化的...

    2000坐标计算,能够更好的进行地形图坐标计算

    首先,2000坐标系通常指的是中国2000国家大地坐标系(CGCS2000),这是我国自2000年起采用的新一代大地坐标系统,取代了原有的1980西安坐标系。CGCS2000基于国际地球参考框架(ITRF),实现了与国际标准的无缝对接,...

    数据结构(C#语言版)

    - **.NET框架的作用**:.NET框架作为微软推出的新一代开发平台,旨在实现不同编程语言间的无缝集成,这有助于简化多语言环境下的软件开发流程。 - **技术趋势**:随着技术的不断进步,.NET框架也在持续演进,从最初...

    未加密-springcloud微服务治理天气项目实战

    10. **Spring Cloud Gateway**:作为SpringCloud的新一代API网关,相比Zuul,Gateway有更好的性能和更多功能。 通过这个项目实战,开发者可以深入理解SpringCloud组件的使用,掌握微服务架构的设计原则,并获得实际...

    计算机组成原理知识归纳总结练习题解答.docx

    4. **第四代超大规模集成电路计算机**(1971年至今):采用超大规模集成电路作为逻辑元件,产生了微处理器,并行流水线,虚拟存储器,高速缓存等新技术。 **摩尔定律**指出,当价格不变时,集成电路板上的晶体管...

    2021-2022计算机二级等级考试试题及答案No.1258.docx

    IPv6是为了应对IPv4地址空间即将耗尽的问题而开发的新一代IP协议。 ### 24. URL的概念 - **知识点**:URL(Uniform Resource Locator)即统一资源定位符,用于标识Internet上的资源位置。它包含了协议类型、主机名...

Global site tag (gtag.js) - Google Analytics