`
isiqi
  • 浏览: 16623496 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

十年之后 Java技术的新方向

阅读更多
http://tech.163.com 2006-03-21 15:32:40 来源: csdn(北京)  网友评论0 论坛
 

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

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

Java正处于转变期

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

(1)编程语言的变化

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

(2)Java运行环境的变化

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

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

(3)框架的变化

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

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

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

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

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

(4)脚本语言

在Java技术标准中新增加了编程语言Groovy(JSR241)。这是一种可与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(JavaCommunityProcess)2.0于2000年问世。以会员制的组织形式推进Java技术的规格制订、总体发展方向则以委员会的方式决定。从而形成了不依赖特定企业的规格制订流程。这一组织形式历经近5年的时间,逐渐发展成“变革的推动者”。

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

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

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

<!-- page -->
分享到:
评论

相关推荐

    Java EE 学习方向

    ### Java EE 学习方向详解 #### 一、Java核心编程技术 在Java EE的学习过程中,首先需要掌握的是Java核心编程技术。这部分内容是整个Java技术栈的基础。 **技术分类:** - **Java开发入门** - **JDK(Java ...

    java核心技术卷二

    这些高级特性是Java开发者在掌握了基本语法和面向对象编程之后,进一步提升编程能力和解决复杂问题时必须掌握的知识。了解和掌握这些知识点,对于想要深入学习Java技术并应用于实际开发工作的开发者而言至关重要。在...

    Java核心技术卷一第10版PDF

    《Java核心技术卷一第10版》是Java编程学习者不可或缺的经典教材,它全面覆盖了Java语言的基础和核心概念。本书适用于初学者以及希望巩固基础知识的开发者,旨在帮助读者掌握扎实的Java编程技能。 首先,Java是一种...

    Core Java.JAVA核心技术(中文版)

    《Core Java.JAVA核心技术(中文版)》是学习Java编程的重要参考资料,主要涵盖了Java语言的基础以及进阶知识。这本书深入浅出地讲解了Java的核心概念和技术,为读者提供了全面而细致的学习路径。以下是对该书内容的...

    JAVA核心技术 高清扫描版

    《JAVA核心技术》是一本深入探讨Java编程语言的权威著作,高清扫描版则为读者提供了清晰易读的电子阅读体验。这本书全面覆盖了Java的核心概念和技术,对于初学者和经验丰富的开发者来说,都是不可或缺的参考资料。 ...

    java 核心技术第十版

    《Java核心技术第十版》是Java开发者的一本权威指南,涵盖了Java语言和平台的各个方面,旨在帮助读者深入理解和熟练掌握Java编程。本版本包含了中文卷1和英文卷1、2,以及随书代码,为学习者提供了全面且深度的学习...

    Java编程宝典:十年典藏版6

    《Java编程宝典:十年典藏版6》是一本深入探讨Java编程技术的权威著作,旨在为读者提供全面、深入的Java学习资源。这本典藏版汇集了过去十年Java编程领域的精华,涵盖了从基础到高级,从理论到实践的各种知识点,是...

    Java核心技术 第12版 开发基础+高级特性 英文原版

    《Java核心技术 第12版》是一本针对Java开发基础和高级特性的详尽教程,适合Java初学者和有经验的开发者。本版已更新至Java 17,涵盖了最新的语言特性。作者Cay S. Horstmann是美国圣何塞州立大学的计算机科学教授,...

    Java核心技术第十版源码

    总之,Java核心技术第十版的源码是一个宝贵的资源,它将理论知识与实践相结合,是Java初学者和经验丰富的开发者提升技能的宝贵教材。通过深入研究这些源码,你将能够更好地掌握Java编程的核心概念,并且能够在实际...

    Java核心技术原书第10版中文版.pdf

    《Java核心技术原书第10版中文版》是Java编程领域的经典教材,由美国著名计算机科学家Cay S. Horstmann撰写,并由周立新等翻译成中文。这本书全面覆盖了Java开发的基础知识,是Java程序员必备的学习资料之一。下面...

    Java OCR 图像智能字符识别技术,可识别中文

    Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...

    30种java技术框架

    ### 30种Java技术框架概述 #### 一、Java类加载器架构 Java类加载器是Java虚拟机(JVM)的重要组成部分之一,主要负责在程序运行时将类文件加载到内存中,并对其进行验证、准备和解析等初始化操作。类加载器采用双亲...

    Java技术的现状及其发展方向探讨.pdf

    自从1995年面世以来,Java以其独特的魅力和卓越的性能,赢得了全球开发者的青睐,并在多个技术领域扮演着关键角色。本文将探讨Java技术的现状和未来发展方向,力图呈现出Java技术的全貌。 首先,我们必须承认Java...

    Java技术文档

    首先,文档中提到了Herbert Schildt,他是一位畅销书作者,专注于编程领域近三十年,并且是Java语言的权威。他的作品在全球范围内销售了数百万册,被翻译成所有主要的外语。Schildt撰写了多本关于Java的书籍,例如...

    JAVA2核心技术(第二版中文PDF).part2.rar

    JAVA2核心技术(第二版中文PDF)本书一共17章。 目录见下: 第一章 java简介 第二章 java编程环境 第三章 java基本编程结构 第四章 对象与类 第五章 进一步介绍OOP:继承 第六章 用AWT进行图形程序设计 第七章 用AWT...

    Java Web开发技术大全

    Java Web开发技术大全 Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet不过现在使用的很少,Java在服务器端的应用非常的丰富,...

    Java核心技术.卷2.高级特性.原书第12版.中文

    Java核心技术.卷2.高级特性.原书第12版.中文

    java新技术

    这是进来最新的java技术,这是一个pdf文档,希望对朋友们有所帮助

    Java核心技术 卷I + 卷II(第9版)(中文带目录)

    《JAVA核心技术(卷1):基础知识(原书第9版)》是《Java核心技术》的最新版,《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了的...

    Core Java 10th JAVA核心技术英文第十版

    Java核心技术 英文原版 第十版 带目录 内容可复制 与第九版SE7相比采用了最新的SE8 包含Core-Java-Vol-I-Fundamentals.pdf和Core-Java-Vol-II-Advanced-Features.pdf

Global site tag (gtag.js) - Google Analytics