Java传说之风云再起
—————————献给所有追求进步、热爱和平、热爱生命的朋友
胡德平(中国Java联盟/www.javaunion.org)
一、Java语言的发展历程
Java语言(简称Java)的诞生对IT产业带来了一次变革,从某些意义上讲对人们的日常生活也产生了深远的影响。Java作为一种类C/C++,但其平台无关性和与互联网发展紧密结合,预计未来必定成为互联网和计算机应用的主流。Java当之无愧地被纽约时报评为1995年的十大科技成果之一,Java将作为一项重大发明载入科技史册! 微软总裁比尔.盖茨曾在观察了一段时间后,十分惭愧地说:“Java是长时间以来最卓越的程序设计语言”,并确定微软整个软件开发的战略从PC单机时代向着以网络为中心的计算时代转移,而购买Java则是他的重大战略决策的实施部署。当然微软与SUN也曾为纯Java对峙法庭,微软必将直接或间接将Java技术融入到其产品体系中。SUN Microsoft公司的总裁Scott McNealy认为Java为Internet 和WWW开辟了一个崭新的时代。
环球信息网WWW的创始人Berners-Lee说:计算机事业发展的下一个浪潮就是Java,并且将很快发生。所以,使用Java已成大势所趋!
Microsoft和IBM两大公司都在Internet上销售用Java编写的软件,IBM闻名Java开发集成环境Visual Age For Java、网站集成平台Webspere,Microsoft的VJ++都是目前主要常见的Java开发环境或产品。
另外,Apple、HP、IBM、Microsoft、Novell、SGI、SCO、Tandem等公司均在各自开发的操作系统中加入了Java开发运行环境,而负责开发并推广Java技术的Javasoft公司(这是SUN下属的一个子公司),通过颁发许可证的办法来答应各家公司把Java虚拟机和Java的Applets类库嵌入他们开发的操作系统, 这样各类开发人员就能更轻易地选择多种平台来使用Java 语言编程, 不同的用户也就可以脱离Web浏览器来运行Java应用程序,这无疑是很受广大用户的欢迎的, 也为Java语言的应用开拓了极为广阔的前景。
1996年6月7日,由SUN公司和台湾经济事务部信息发展局、 台湾信息技术研究所等单位牵头,成立了一个“台湾Java联盟”,有多个台湾闻名计算机公司参与,并在台北建立 “Java开发中心”,在新竹建立 “Java语言实验室”,以掀起台湾开发与应用Java语言的热潮。香港则在1996年4月就举行了全岛的Java杯比赛, 在计算机界掀起了学习Java的热潮(尤其是在大学生中,出现了一批Java迷)。1996至1998年,SUN公司与国内清华大学、北京大学的闻名高校合作,成立10个“Java教育中心”;与中软、邮电部等机构合作成立培训中心、开发中心;在北京、天津和上海成立研究开发基地。每年一度的JavaOne大会几乎都会推出让Java更受人欢迎的新技术,曾经有人预言:Java将是网络上的“世界语”,将会被未来所证实。
1998年,由于Java在安全、性能等方面到了一个要害阶段,甚至Java被列入了世纪末十大必然死亡的技术之一,十大科技成果被预言必将死亡实在是幽了一个默。1998至今,随着Java2一系列新技术如JAVA2D、JAVA3D、 SWING、 JAVA SOUND、 EJB、 SERVLET、 jsp、 CORBA、XML、JNDI等等的引入以及JVM自身的安全策略完善、效率提高,新一轮Java热潮再次被掀起。目前,国内电子商务、金融、证券、邮电、电信等行业的大部分系统几乎都正在或者预备采用部分Java技术来实现。此外国内也出现了致力于Java技术推广和开发的非盈利组织中国“Java阵线联盟”(javaunion.org)以及一批作为该组织成员的个人Java技术网站,预计一两年内Java应用将被国内广大行业用户所接受,Java技术水平也将逐步与世界同步。
二、Java语言的特点
Java语言具有能独立于平台而运行、面向对象、可对动态画面进行设计与操作、坚固性等特点,又具有多线程、内置校验器用来防止病毒入侵等功能,所以用来在Internet上研制与开发软件时,非凡受到用户的欢迎。
Java语言的有点主要表现在:简单、面向对象、自动的内存治理、分布计算、稳定、安全、解释执行、结构中立、平滑移植、多线程、以及异常处理等方面。
1、 简单
由于Java的结构类似于C和C++,所以一般的熟悉C与C++语言的编程人员稍加学习就不难把握Java的编程技术了。Java所具有的自动内存治理机制也大大简化了Java程序设计开发。
2、 面向对象
简单的说,面向对象设计是一种以数据(对象)以及其接口为重心的程序设计技术,面向对象的设计可以说是定义程序模块如何“即插即用”的机制。Java的面向对象机制实际上可以看作是C++面向对象机制的延伸。Java提供了简单的类机制和动态的构架模型,对象中封装了它的状态变量和方法(函数、过程),实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继续和重载机制,子类可以使用或者重新定义父类或者超类所提供的过程,从而实现代码的复用。