📄 00000008.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: FrankCH (小花花), 信区: Java <BR>标 题: java的诞生及历史影响 <BR>发信站: BBS 水木清华站 (Sun Jul 27 11:55:30 1997) <BR> <BR> <BR> <BR> <BR> Java的诞生及其历史影响 <BR> Java是Internet上的世界语。 <BR>Java是最佳的网络应用开发语言。 <BR>Java的诞生,从根本上解决了Internet的异质,代码交换,以及网络程序的 <BR>安全性等诸多问题。首先,Java是一种平台无关语言。Java程序编译后, <BR>生成字节代码(byte-code),运行在Java虚机器(实际上是一个解释器)上。一 <BR>个操作系统平台只要提供Java虚机器,Java程序就可以在上面运行。从理 <BR>论上讲,Java程序可以运行于所有的操作系统平台上,从根本上解决了 <BR>Internet的异质问题。其次,Java采用了可移动代码技术,在网络上不仅可 <BR>以进行无格式的数据信息交换,而且可以进行程序交换。Java是比较纯的 <BR>面向对象语言,它的绝大多数程序实体都是对象,利用对象的封装性可以 <BR>大大降低网络上程序交换的复杂性。第三,Java可以和HTML(HyperText <BR>Markup Language)无缝的集成,把静态的超文本文件变成了可执行的应用程 <BR>序,极大地增强了超文本的可交互操作性。最后,Java是一种更安全的语 <BR>言,它消除了C和C++中众多的不安全因素,提供了诸多安全保障机制, <BR>例如:异常处理,代码检查等,比其它语言更适合网络应用软件的开发。 <BR>Java不仅仅是一个程序设计语言,更是一个网络操作系统。这是因为:第 <BR>一, Java的可以不依赖于任何现有操作系统,可以直接运行在某种机器或 <BR>CPU上(例如:Java芯片,80x86);第二, Java有自己的内存管理功 <BR>能;第三,Java支持多线程程序,可以个用C实现的EMACS的文本编辑器。 <BR>在研究开发过程中,Gosling 深刻体会到消费类电子产品和工作站产 <BR>品的开发哲学之间差异:消费类电子产品要求高可靠、费用低、标准化、 <BR>使用简单,而工作站用户要求强大的计算能力,而不在此乎价格以及操作 <BR>的复杂性。消费类电子产品用户并不关心CPU的型号,也不欣赏专用昂贵 <BR>的RISC处理器,他们需要建立在一个标准基础之上,一系列可选的方案, <BR>从8086-80586都可以上。 <BR>从C++开始 <BR> 为了使整个系统与平台无关,Gosling首先从改写C++编译器着手。但 <BR>是Gosling在改写过程中感到仅C++是无法满足需要的,于是在1991年6 <BR>月份开始准备开发一个新的语言,那么给它起一个什么名字呢? Gosling回 <BR>首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语 <BR>言的前身。(后来发现Oak已是Sun公司的另一个语言的注册商标,才改名 <BR>为Java,即爪哇,太平洋上一个盛产咖啡的岛屿的名字)。 <BR>Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重用的顶置盒 <BR>式操作系统,但实践证明,这个市场尚未成熟。例如:好几家交互式有线 <BR>电视网的实验都以失败告终。 <BR> Naughton立即认识到研究方向应该转移。在Naughton的努力下,研究 <BR>开始向在线服务,CD-ROM和基于网络的台式机方向转移。最后 <BR>FirstPerson解散,一部分人去了Sun Interactive开发数字视频数据服务器, <BR>而另一部分开始把Java用于基于网络的台式机系统。 <BR>Java语言的转折点 <BR> 到了1994年,WWW已如火如荼的发展起来。Gosling意识到WWW <BR>需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一 <BR>种实时性较高,可靠安全,有交互功能的浏览器。于是Gosling决定用Java <BR>开发一个新的Web浏览器。 <BR> 这项工作由Naughton和Jonathan Payne负责,到1994年秋天,完成了 <BR>WebRunner的开发工作。WebRunner是HotJava的前身,这个原型系统展 <BR>示了Java 可能带来的广阔市场前景,给SunLab两位领导: Bert SutherLand <BR>和Eric Schmidt留下深刻印象,这一点非常重要,因为这两个人是Sun的首 <BR>席技术官员。特别是Sun的总裁McNealy对Java抱有坚定的信念,为Java <BR>进入WWW立下了汗马功劳。正如McNealy所料,WebRunner改名为 <BR>HotJava,并于1995年5月23日发表后,引起了产业界巨大的轰动,Java <BR>的地位也随之而得到肯定。McNealy卓越的洞察力和果断的决策,挽救了 <BR>这项差点锁进文件柜的脊有C++的运算符重载和多继承也被排除在Java之外。Java <BR>为了追求语言简单性的另一惊人之举,是把C程序员推崇倍至的指针取消 <BR>了。指针实际上是C和C++最容易出错的方面,往往有时出了错很难定位, <BR>例如有一段C程序: <BR>/* 上面有若干行C代码*/ <BR> int *p, ; <BR> p = (int *)malloc(10*sizeof(int)) ; <BR> for (i=0; i *p++=0 <BR>/*下面有若干行C代码*/ <BR> ...... <BR> a = index[n] ; /* index是一个整型数组 */ <BR> 如果这段程序在前面不对end取值做检查,则极容易出错。当end>10 <BR>时,数组越界,在Unix中可能出现Segment Violation错误,在DOS和 <BR>Windows环境中就可能“死机”。奏个class可以组成一个包(package)。Java <BR>的class和C++的一样有层次结构,子类可以继承父类属性和方法。Java <BR>类中的方法,均缺省为虚函数。Java的类是可以动态加载的。 <BR> 由于Java是比较纯粹的面向对象语言,它没有支持C++的模板(template) <BR>机制。我们大家都熟悉,在C++中可以定义一个模板类Stack,实现 <BR>个新类加载到当前环境中,这和传统程序开发的编 <BR>译、链接、测试有很大不同。这样的好处是支持快速原型开发,特别是字 <BR>节代码中带有编译时刻的信息,运行中出现错误很容易定位。 <BR> 健壮性 <BR> Java的最初设计的目标是应用于电子类消费产品的控制,要求很高的 <BR>健壮性(Robust)。Java尽可能消除了C++的不可靠因素,可以防止许多编 <BR>程错误,因而更容易写出健壮的软件。当然,完全可靠的系统单靠语言是 <BR>无法保证的。 <BR> Java是一种比C++还强的强类型语言。Java要求显式的方法声明,这 <BR>保证了编译器可以发现方法调用错误,保证了程序更加可靠。 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -