2005年是Java10诞生10年,全世界的Java程序员通过不同的方式为Java庆祝生日,10年前还很幼稚的小东西,今天已经成为软件业的一个重要体系。在10年的发展历程中Java阵营诞生了许多杰出的思想,这些思想演化成众多的开发架构和开发工具,也因此导致Java技术派系众多,让架构师难于选择,应用系统复杂而且昂贵。为了这解决这个问题,Java专家们们提出一系列的新的技术规范,这些技术的目的就是使Java更简单,不仅仅是Java语言,还包括开发工具和框架。融合与开放成为2005年Java发展的主要特征。
处于二次革命前夜的Java
在Java领域中Sun公司具有举足轻重的地位,在2005年Sun推出了一系列新的技术规范,希望继续简化并重新整合Java技术。7月Sun连续公布两个技术规范:JSR-196和JSR-277,JSR-196简化了J2EE应用服务器整合第三方验证服务,JSR-277又被称为"Java模块系统",Sun希望通过该规范解决了现在Java应用在部署时的麻烦,同时彻底废除JAR文件格式,采用新的Java模块打包Java程序。
随后Sun在8月举行的JavaOne大会上宣布取消J2XE的命名规则,新的命名以JavaEE/SE为主,如果仅仅是改换个命名方式是不会引起震动的,从Sun 随后公布的文件看,这不是一个简单的改名,其中的技术跨度很大,可以把它看成一种新的技术而不是J2EE的延续。
然而事情并未结束,不久前,Sun又向JCP(Java Community Process,Sun于1998年发起成立的一个开放的非赢利性组织,负责处理和审批各种Java技术和技术规范)提交了JSR 224-Java EE 5的 最后草稿,在这个草稿中,Java EE 5的重点是简化应用开发,尤其是大量采用元数据标注(annotation)和POJO(普通Java对象)驱动的开发方式,对平台进行了重新定义。JSR-244则规定了Java EE 5总体框架下需要具备的技术特性。Sun坚定的走上了简化Java的道路,甚至不惜重建一个Java。
JavaBeans体系发展之争愈加激烈,对象持久化技术JDO、EJB和Hibernate在2005 年的际遇可谓几家欢乐几家愁。命运多舛的JDO 2.0未能通过JCP的表决,遭遇重大挫折,JCP的委员们声称JDO 2.0在轻量级存储模型上与EJB3.0存在冲突,而让两种不同的规范来描述同样的问题,将使J2EE变得更复杂。但否决JDO 2.0给JCP带来不小的麻烦,Java社群内群言汹汹,大有不推翻此结果不罢休之意,因此,JCP决定为EJB3.0重新提供一套API(应用程序接口),JDO将通过这套API得到支持,看来JDO未来的出路将是被EJB收编。与JDO不同,Hibernate今年的发展很顺利,Hibernate在被JBoss收购后发表了3.0版本,在这个版本中Hibernate增加了对XML持久化的支持,也没有出现被绑定在JBoss上情景,这曾让开发人员担心不小。
Java开源和免费势不可挡
在Java诞生之初,Sun及其明智的为制定了一个开放的发展策略,为Java的发展创造了一个良好的环境,可以说正是这个策略造就今天繁荣兴旺的局面,也因此Java与开源结下了不解之缘。
在2005年Java开源迎来新一波高峰,Java世界的众多产品和开发工具纷纷开放源代码,开源项目Eclipse正在逐渐统一Java IDE(集成开发工具),继Borland宣布将把产品线全面转入Eclipse后,Bea也计划把weblogc workshop转移到eclipse平台上,Eclipse在逐步统一Java IDE;目前抗拒Eclipse魅力的还剩下Sun,Sun虽然部分开放了Java源代码,但声称不打算加入Eclipse项目,将坚持发展Netbeans,但Sun的困难在于Netbeans的插件开发社群远远小于Eclipse,即使Sun说服中国教育部在高校中推广Netbeans,这个差距也不是短时间能弥补的。
Eclipse的成功也让Sun看到了开放的架构的巨大吸引力,Sun提出了一个类似.net的脚本运行时环境JSR-232,在这个环境上可以集成各种脚本语言,甚至包括PHP、Groovy,以后也许还有python、ruby;这不由得让人对它充满希望。
Sun在部分开放Java源代码后宣布所有软件免费,Sun今后将从技术支持和服务中获取利润。IBM和JetBrains也宣布免费,幸福来得太突然,我们进入免费时代了。
在2004年曾经在IT界引发狂热的AOP和SOA在理论上已经成熟,开始进入技术应用期。技术人员开始从事将AOP的三个主要框架:AspectJ、AspectWerkz、Spring实现合并,力图提供一个单一的AOP编程平台。AspectJ和AspectWerkz的项目组已经合为一体,共同推出了第一个产品AspectJ5,AspectJ的项目领导人Adrian Colyer则离开了IBM,加入interface21,期望能致力于AspectJ与Spring的融合。
2005年岁末Bea技术大会在北京举行,人们很快发现这次会议成为SOA宣传会和产品展示会,Bea展示了令人眼花缭乱的的SOA产品,人们不禁怀疑Bea是否有意充当SOA应用的排头兵。欲在SOA市场大展拳脚的还有蓝色巨人IBM,IBM在不久前为其中间件WebSphere家族增加了一系列新产品,而这些产品都是针对SOA应用的,同时IBM还联合Oracle、BEA、SAP、Sybase等巨头将SDO和SCA(Service Component Architecture (SCA) and Service Data Objects (SDO))混合组成了一个SOA编程模型,试图简化开发和组装实际业务服务。
Java在中国
2005年Javachina大会在中国召开,这是Sun首次在中国召开的Java技术大会,Java社群的传奇人物纷纷登陆中国,与中国开发人员探讨Java技术的发展应用,这是Java发展史上的第一次,也是Sun、IBM、Bea等厂商10年来不遗余力地推广的结果。
如果说国内Java技术前些年是在追赶世界的话,那么近年来中国Java技术的发展已经紧紧抓住了世界潮流,开始与世界同步。Hibernate、Spring、AOP、SOA等技术都是在最短时间里介绍到国内的,Ajax刚在海外露头,国内就诞生了相似的应用框架,而国内工程师的身影也出现在制定JDO、EJB规范的专家组中。但是,与中国软件的大环境相同,目前国内的Java技术主要还是集中在应用层面,所有核心技术的知识产权都在海外。
根据中国软件产业协会的统计,国内超过三分之二的软件企业在采用Java进行开发,北京有90%的软件公司都有Java开发部门。虽然有这么多企业采用Java进行软件开发,但国内成熟的Java应用软件还不多见,还没有建立统一的Java标准体系和安全架构,也没有人监控,这些问题的存在使对企业进行软件开发增加了成本,也降低了客户对Java产品的信任。与行业软件相反,Java在移动领域的发展非常顺利,国内所有手机厂商都在生产支持Java技术的手机,短信和手机游戏等业务几乎全部是采用Java技术开发,Java技术几乎成为行业标准。
Java在中国的发展与中国程序员的努力密不可分。目前中国有十多万Java程序员,书店里堆满了Java技术书籍,各种培训机构、软件学院中Java都是重要课程。不过国内从事Java开发的人数虽多,但精通者很少,有创造力的则更少。
结束语
毫无疑问2005年Java在各个技术层面都取得了巨大的进步,新技术的出现时间以月计,在这些技术的引领下未来的Java将变更简洁,代码编写量更少,开发周期更短。
在2005年开放成为Java的共识,以往让开发人员难以抉择的框架体系,开始走向彼此融合的道路。开放加上Java世界里从来不缺的天才的思想,将保证Java的顺利发展。
分享到:
相关推荐
Java程序混淆技术综述,详细的讲解代码混淆技术在java程序开发中的应用。
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...
### 30种Java技术框架概述 #### 一、Java类加载器架构 Java类加载器是Java虚拟机(JVM)的重要组成部分之一,主要负责在程序运行时将类文件加载到内存中,并对其进行验证、准备和解析等初始化操作。类加载器采用双亲...
2014年java相关技术与框架使用情况统计报告。英文。由RebelLabs统计。 JAVA TOOLS AND TECHNOLOGIES LANDSCAPE FOR 2014 A GLOBAL SURVEY OF 2164 JAVA PROFESSIONALS 包括不同java框架、服务器、构建工具,静态代码...
java小区物业管理系统 文献综述.doc
《Tomcat与Java Web开发技术详解(第2版)》结合最新的Tomcat 6版本,详细介绍了开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方...
HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...
这些概念和技术是Java语言的核心组成部分,了解它们对于掌握Java语言非常重要。 Java语言是当今最流行的编程语言之一,它的设计目标是提供一个平台独立、简单易学、可扩展和高度安全的编程语言。Java语言的应用非常...
本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。
第1章 Java 程序设计概述 1.1 Java 程序设计平台 1.2 Java 白皮书的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 1.2.4 健壮性 1.2.5 安全性 1.2.6 体系结构中立 1.2.7可移植性 1.2.8 解释型 1.2.9 高性能 ...
javax.accessibility 定义了用户界面组件与提供对这些组件进行访问的辅助技术之间的协定。 javax.crypto 为加密操作提供类和接口。 javax.crypto.interfaces 根据 RSA Laboratories' PKCS #3 的定义,提供 Diffie-...
主要内容包括p2p概述、p2p网络拓扑结构、p2p网络搜索技术、p2p关键技术及...技术、基于java的p2p开发平台搭建、sloape的开发包及插件开发技术、基于p2p的即时通信系统的开发与实现、bt系统分析及客户端开发、jxta技术等...
- 支持复杂的Web应用,可以与其他Java技术结合使用,如Servlets和JavaBeans。 - 在文档中提到了几本关于JSP技术的书籍,例如《jsp实用案例教程》、《jsp动态网页编程技术》等,这些资料可以帮助读者深入学习JSP...
### Java程序员技术总结 在多年的Java开发过程中,不断积累的经验和技术是每个程序员宝贵的财富。本文将根据提供的部分内容,深入分析并扩展几个关键知识点:面向对象编程思维、Java编译与运行机制、类加载器...
《Tomcat与Java Web开发技术详解》第二版是一本深入探讨如何使用Apache Tomcat服务器进行Java Web应用程序开发的专业书籍。作者孙卫琴以其丰富的教学和实践经验,为读者提供了全面而细致的技术指南。这本书的配套...
基于JAVA的饭店点餐系统文献综述.doc
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
JAVA框架核心技术笔记... 笔记打包下载 1-JSP+JDBC_假分页笔记 2-JSP+JDBC_真分页(基于Oracle数据库分页)笔记 005_Struts+DAO登陆 23-26Hibernate数据关联技术笔记 44登陆案例(Struts+DAO+...