一、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上的电子表格。
分享到:
相关推荐
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java...
JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...
java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 ...
标题"smali2java——直接将smali转换成java"揭示了本文的核心主题,即一个名为"smali2java"的工具,它的主要功能是将编程语言Smali转换为Java。Smali是一种低级的、汇编式的语言,通常用于Android应用的逆向工程,而...
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
jdk11官方版是一款专为java编程人员推出的软件开发工具。JAVA JDK 11最新版可以帮助用户轻松的获取到JAVA的运行环境,让你在电脑上进行程序开发操作。JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量...
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...