在此架构下, 使得java有了比其它编程工具更为特殊的特点,既需要编译又需要解释,也就是说JAVA程序的运行拥有一个比其它编程工具翻译为操作系统所能理解的语言的过程更为的复杂的中间过程:
(1)
(1)编译程序将Java源程序翻译为字节码(bytecode)程序;
(2)
(2)解释程序Java虚拟机分析并运行字节码程序。
也正因为这种特点,使得java具有很高的可移植性,java拥有各类平台的VM,使得JAVA程序可以一次编写,处处运行。