了 PASCAL 虚拟机的概念;广泛用于 Unix 服务器的 Perl 脚本也是
产生与机器无关的中间代码用于执行。但针对 Internet 应用而设计的
JAVA 虚拟机的特别之处在于它能产生安全的不受病毒威胁的目标
代码。正是由于 Internet 对安全特性的特别要求才使得 JVM 能够迅
速被人们接受。当今主流的操作系统如 OS/2、MacOS、Windows95/NT
都已经或很快提供对 J-Code
的支持。
作 为 一 种 虚 拟 的 CPU , JAVA 虚 拟 机 对 于 源 代 码
(SourceCode)来说是独立的。我们不仅可以用 JAVA 语言来生成 J-
Code,也可以用 Ada95 来生成。事实上,已经有了针对若干种源代
码的 J-Code 编译器,包括 Basic、Lisp 和 Forth.源代码一经转换成 J-
Code 以后,JAVA 虚拟机就能够执行而不区分它是由哪种源代码生
成的。这样做的结果就是 CPU
可移植性。
将源程序编译为 J-Code 的好处在于可运行于各种机器上,而
缺点是它不如本机代码运行的速度快。
三、JAVA 作为一种虚拟的操作系统(OS)和图形用户界
面(GUI
):操作系统可移植性
即使经过重新编译,大多数的用 C 和 C++编写的 Windows 程
序也不能在 Unix 或 Macintosh 系统上运行。这是为什么呢?因为程
序员在编写 Windows 程序时使用了大量的 WindowsAPI 和中断调用,
而 Windows 程序对系统功能的调用与 Unix 和 Macintosh 程序有很大
的差别,所以除非将全套 WindowsAPI 移植到其它操作系统上,否