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 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”。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器