background image

  不过,即使 Java 程序也可能有错误。如果出现某种出乎意料之事,程序不会崩溃,而
把该例外抛弃。程序会发现这类例外,并加以处理。
  传统的程序可以访问计算机的全部内存。程序可能(无意识地)修改内存中的任何值,
这就会造成问题。Java 程序只能访问内存中允许它们访问的那些部分,所以 Java 程序不可
能修改不拟修改的值。
  7Java 是小巧的
  由于 Java 的设计是要在小的计算机上运行,作为一种编程语言来说其系统是相对较
小的。它能有效地在 4MB 以上 RAM 的 PC 机上运行。Java 翻译器只占用几百 KB。这种翻译
器对 Java 的平台无关性和可移植性是可靠的。
  由于 Java 很小,它对内存很小的计算机,如基于 Java 的 PC 机,以及电视机、烤箱、
电话机及家用计算机等,是很理想的。
  8Java 是多线程的
  Java 程序可以执行一个以上的线程。比如,它可以在一个线程中完成某一耗时的计算,
而其它线程与用户进行交互对话。所以用户不必停止工作,等待 Java 程序完成耗时的计算。
  在多线程环境中的编程通常是困难的,因为许多东西可能同时出现。但是,Java 提供
了易于使用的同步特性,使编程更为方便。
  Java 线程通常被映射为实际的操作系统线程,只要底层操作系统支持这种映射。因此,
用 Java

写的应用程序可说是 MP

热 。这就是说,如果它们在多处理器机器上运行,它们

更将表现不凡。
  9Java 是可收集无用的存储单元的
  用 C 及 C++写软件的编程人员必须仔细跟踪所用的内存块。当一个块不再使用时,他
们务必让程序释放它,从而方可再用。在大的项目中,这可能很困难,并往往成为出错和
内存不足的根源。
  在 Java 的情况下,编程人员不必为内存管理操心。Java

系统有一个叫做 无用单元收

集器 的内置程序,它扫描内存,并自动释放那些不再使用的内存块。
  10Java 是快速的
  Java 比典型的脚本语言大为有效,但它比 C 慢 20 倍。这对大多数应用是可接受的。不
久的将来,代码生成器就可供利用了,这将使 Java 程序几近于用 C 或 C++编写的程序那
么快。
  11Java 是安全的
  Java 程序没有指针,而且象这样的字节代码程序强在类型上,所以在执行之前它可
能验证 Java 程序。被验证的 Java 程序得以保证不突破 Java 语言的任何限制,而且可以安
全地执行。Java 字节代码验证被 web 浏览器用来确保小程序不含病毒。
  12Java 是可扩展的
  Java 程序可与用其它语言编写的现存程序库连接。由于 Java 数据结构与 C 的数据结构
的类型极为相似,这是相当方便的。最大的问题在于,现有多线程程序库为数不多。
  Java 程序可以声明某些方法是内部的,然后,把这些内部方法映射成软件库所定义
的功能,从而动态地链接到虚拟机。