Java 来自于 Sun 公司的一个叫 Green 的项目,其原先的目的是为家用消费电子 产品开发一个分布式代码系统,这样我们可以把 E-mail 发给电冰箱、电视机等 家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用 C,但 C 太复杂,安全性差,最后基于 C开发一种新的语言 Oak(Java 的前身),Oak 是 一种用于网络的精巧而安全的语言,Sun 公司曾依此投标一个交互式电视项目, 但结果是被 SGI 打败。可怜的 Oak 几乎无家可归,恰巧这时 MarkArdreesen 开发 的 Mosaic 和 Netscape 启发了 Oak 项目组成员,他们用 Java 编制了 HotJava 浏 览器,得到了 Sun 公司首席执行官 ScottMcNealy 的支持,触发了 Java 进军 Internet。Java 的取名也有一个趣闻,有一天,几位 Java 成员组的会员正在讨 论给这个新的语言取什么名字,当时他们正在咖啡馆喝着 Java(爪哇)咖啡,有 一个人灵机一动说就叫 Java 怎样,得到了其他人的赞赏,于是,Java 这个名字 就这样传开了。

Java 的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过 程中所需要的类,这是 C语言进行面向对象程序设计所无法实现的。在 C程 序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所 有子类都必须重新编译,否则将导致程序崩溃。Java 从如下几方面采取措施来 解决这个问题。Java 编译器不是将对实例变量和成员函数的引用编译为数值引 用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动 态连接类后,将符号引用信息转换为数值偏移量。这样,一个在存储器生成的对 象不在编译过程中决定,而是延迟到运行时由解释器确定的。这样,对类中的变 量和方法进行更新时就不至于影响现存的代码。解释执行字节码时,这种符号信 息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速 执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原 有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自 由地对该类进行更新,而不会使任何引用该类的程序崩溃。Java 还简化了使用 一个升级的或全新的协议的方法。如果你的系统运行 Java 程序时遇到了不知怎 样处理的程序,没关系,Java 能自动下载你所需要的功能程序。

Java 是 Sun 公司推出的新的一代面向对象程序设计语言,特别适合于 Internet 应用程序开发,它的平台无关性直接威胁到 Wintel 的垄断地位。一时间,“连 Internet,用 Java 编程”,成为技术人员的一种时尚。虽然新闻界的报导有些 言过其实,但 Java 作为软件开发的一种革命性的技术,其地位已被确立,这表 现在以下几个方面:

Java 到底是一种什么样的语言呢?Java 是一种简单的面象对象的分布式的解释 的健壮的安全的结构中立的可移植的性能很优异的多线 简单

Java 最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明 了。Java 语言的简单性主要体现在以下三个方面:

2.Java 摒弃了 C中容易引发程序错误的地方,如指针和内存管理。

Java 提?copy;的多线程功能使得在一个程序里可同时执行多个小任务。线程- -有时也称小进程--是一个大进程里分出来的小的独立的进程。因为 Java 实 现的多线程技术,所以比 C 和 C更键壮。多线程带来的更大的好处是更好的交

互性能和实时控制性能。当然实时控制性能还取决于系统本身 (UNIX,Windows,Macintosh 等),在开发难易程度和性能上都比单线程要好。任 何用过当前浏览器的人,都感觉为调一副图片而等待是一件很烦恼的事情。在 Java 里,你可用一个单线程来调一副图片,而你可以访问 HTML 里的其它信息而 不必等它。

Web 浏览是现在国际网甚至局域网的主要使用方式。文档能很容易地显示文本和 各种图片,他还能提供超文本链接。这些浏览器调用 HTML 语言写的文档, HTML/WWW 浏览器技术只限于文本和图象。如果你想播放一种声音或运行一个演 示程序,你不得不下载那个文件并用你本机上的能理解和运行那个文件格式的程 序来播放它。Java 程序和它的浏览器 HotJava,提供了可让你的浏览器运行程序 的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java 还能告诉你的浏览器怎样处理新的类型文件。当我们能在 2400baud 线上传输视 频图象时,HotJava 将能显示这些视频。

Java 的安全性可从两个方面得到保证。一方面,在 Java 语言里,象指针和释放 内存等 C功能被删除,避免了非法内存操作。另一方面,当 Java 用来创建浏 览器时,语言功能和一?copy;浏览器本身提?copy;的功能结合起来,使它更安全。 Java 语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查 代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。

Java 包括一个支持 HTTP 和 FTP 等基于 TCP/IP 协议的子库。因此,Java 应用程 序可凭借 URL 打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完 全相同。为分布环境尤其是 Internet 提供动态内容无疑是一项非常宏伟的任务, 但 Java 的语法特性却使我们很容易地实现这项目标。

如果 byte-code 通过代码校验,没有返回错误,我们可知道:代码没有堆栈上溢 出和下溢出所有操作代码参数类型都是正确的没有发生非法数据转换,如将整数 转换成指针。访问对象操作是合法的

ClassLoader 通过将本机类与网络资源类的名称分开,来保持安全性。因为调入 类时总要经过检。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注