java 程序的运行机制 高级程序语言里分为两种,编译型和解释型。 编译型语言需要先经过编译成可被特定平台硬件能执行的机器码,然后包装成平台所能识别的可执行文件,才能够运行,比如我们常见的c,c++。编译型程序可以脱离开发环境独立运行,但是一般无法跨平台,也就是在windows上编译过的文件拿到mac上就无法运行了,必须将源代码进行重新的编译。 解释型语言需要由解释器对源程序解释成特定平台的机器码才能够运行,并且他必须依赖与解释器而不能独立运行。但是,解释型语言的跨平台性较高,只需在不同的平台上,提供解释器,就可以解释执行。解释型语言也是经过编译的,只不过解释器将他们一块进行了。 java语言比较特殊,可以说既是编译型语言,又是解释型语言。java程序的运行要先编译,后解释。 java程序要先经过编译器将源程序编译成与平台无关的字节码文件,即“*.class”文件,这种字节码是不可执行的,必须由java解释器执行。 在java里有个很重要的东西,叫JVM,即java虚拟机,它是可运行java字节码文件的虚拟计算机,也就是说java程序是运行在虚拟机上的。JVM在不同的平台上是不同的,但他们都提供了相同的接口,这就是为什么java具有跨平台性,只要不同的平台提供了相应的虚拟机,java程序则可以在该平台上运行。 所以java是一种编译型兼解释型的跨平台程序设计语言。(有什么不对的,希望读者能够指出)