服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java概述


  一、java的发展史
1 什么是java

美国硅谷有一句行话,每10年~15年有一次轮回。最近的一次轮回就是从java开始。

java是一个由sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环

境中开发软件。不论你使用的是哪一种www浏览器,哪一种计算机,哪一种操作系统,只要www浏览器上面注明

了“支持java”,你就可以看到生动的主页。java正在逐步成为internet应用的主要开发语言。它彻底改变了

应用软件的开发模式,带来了自pc机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。

sun的java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。

sun内部人员把这个项目称为green,那时worldwideweb还在图纸上呢。该小组的领导人是jamesgosling,是一

位非常杰出的程序员。他出生于1957年,于1984年加盟sunmicrosystem公司,之前在一家ibm研究机构工作。他

是sunnews窗口系统的总设计师。也是第一个用c实现的emacs的文本编辑器cosmacs的开发者。

在研究开发过程中,gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要

求可靠性高、费用低、标准化、使用简单,用户并不关心cpu的型号,也不欣赏专用昂贵的risc处理器,他们需

要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。

2 从c开始

为了使整个系统与平台无关,gosling首先从改写c编译器着手。但是gosling在改写过程中感到仅c是无法满足

需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢?gosling回首向窗外望去

,看见一棵老橡树,于是建一个目录叫oak,这就是java语言的前身(后来发现oak已是sun公司另一个语言的注

册商标,才改名为java,即太平洋上一个盛产咖啡的岛屿的名字)。

gosling在开始写java时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系

统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之间的通信与协同工作。

gosling在设计中采用了虚机器码(virtualmachinecode)方式,即java语言编译后产生的是虚拟机,虚拟机运

行在一个解释器上,每一个操作系统均有一个解释器。这样一来,java就成了平台无关语言。这和gosling设计

的sunnews窗口系统有着相同的技术味道。在news中用户界面统一用postscript描述,不同的显示器有不同的

postscript解释器,这样便保证了用户界面的良好的可移植性。

patricknaughton也是sun公司的技术骨干,曾经是openwindows项目的负责人。当naughton加入该小组后,整个

工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言(java)、一个用户

界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在sun公司要75个人干三年。项目完

成后,在sun公司内部做了一次展示和鉴定,观众的反应是:在各方面都采用了崭新的、非常大胆的技术。许多

参观者对java留下了非常深刻的印象,特别得到sun的两位领导人scottmcnealy和billjoy的关注,但java的前

途未卜。

3 java语言的转折点

到了1994年,www已如火如荼地发展起来。gosling意识到www需要一个中性的浏览器,它不依赖于任何硬件平台

和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。于是gosling决定用java开发一个新的

web浏览器。

这项工作由naughton和jonathanpayne负责,到1994年秋天,完成了webrunner的开发工作。webrunner是

hotjava的前身,这个原型系统展示了java可能带来的广阔市场前景。webrunner改名为hotjava,并于1995年5

月23日发表后,在产业界引起了巨大的轰动,java的地位也随之而得到肯定。又经过一年的试用和改进,

java1.0版终于在1996年年初正式发表。

二、java带来的影响
java虽出现的时间不长,但已被业界接受,ibm、apple、dec、adobe、silicongraphics、hp、oracle、

toshiba、netscap和microsoft等大公司已经购买了java的许可证。microsoft还在其web浏览器explorer3.0版

中增加了对java的支持。

另外,众多的软件开发商也开发了许多支持java的软件产品。如:borland公司的基于java的快速应用程序开发

环境latte;metrowerks公司和naturalintelligence公司分别开发的基于machintosh的java开发工具;sun公司

的java开发环境javaworkshop;microsoft也开发出系列java产品。数据库厂商如

illustra,sybase,versant,oracle都在开发支持html和java的cgi(commongatewayinterface)。在以网络为中

心的计算时代,不支持html和java,就意味着应用程序的应用范围只能限于同质的环境。

intranet正在成为企业信息系统最佳的解决方案。它的优点表现在:便宜、易于使用和管理。用户不管使用何

种类型的机器和操作系统,界面是统一的web浏览器,而数据库、web页面、应用程序(用java编的applet)则

存在www服务器上。开发人员只需维护一个软件版本,管理人员省去了为用户安装、升级、培训之苦,用户则只

需一个操作系统,一个internet浏览器足矣。

我们可以设想未来的计算方式,每个homepage的实质是一个多媒体应用程序,这些程序用java来开发。java应

用程序运行在异质的机器、异质的操作系统之上,甚至于电冰箱、烤面包箱、防盗电子设备之中,用internet

把所有的电子设备连接起来,通过tcp/ip进行信息的交流。java应用程序之间既可以交换消息,也可以交换程

序(一个java的小应用程序applet)。或许有一天,我们可以在netscape浏览器里查看电冰箱的温度,向烤面

包箱发一个电子邮件。

java的出现是计算机信息交换的一个重要里程碑。在单机时代,程序进程之间靠共享存储进行变量交换;在网

络时代,运行在不同宿主机上的程序按网络协议进行无格式的消息(二进制字符流)交换,消息的语义由交换

程序双方维护;在java时代,运行在网络上的程序进程交换的是小应用程序(applet)。小应用程序是什么?它

是一个对象,由一组属性和方法构成,是一个可执行的实体;不仅有数据的状态,而且有定义在数据上的操作

。未来可能进行代表(agent)交换,代理有一定的智能性,那便是信息交换的更高级阶段。

随着internet的崛起、java的诞生,巨型的、臃肿的应用软件开始向小型化发展,由众多“生活”在internet

上的小应用程序(applet)相互协作完成信息的处理与传递。java会加速应用软件的小型化、网络化的趋势。

随着internet的发展,软件必然是面向“大众”,而不是“少数人”的奢侈品,薄利多销将是网络应用软件的

重要特点。分布式对象技术保证了用多少,下载多少。

java连同internet,www正在改变应用软件的开发和使用方式,一切都要围绕着网络,围绕着平台无关。很多人

认为,word,excel等传统的信息处理工具都必然走向萎缩,因为它们是单机时代的产物。信息的价值在于使用

和共享,internet和web是信息的使用和共享最快捷、最便宜的方式,word将演化成为web写作工具,excel则将

演化成web上的电子表格。

扫描关注微信公众号