从今天起,我要每天写一篇学习JAVA语言的文章,让自己能够充起来,现在学习的资料书是李刚(霸气外露啊!)的《疯狂JAVA讲义》下面学习开始!!!!

JAVA语言具有解释性语言和编译性语言的特征。那么什么是解释性语言什么又是编译性语言呢?

编译性语言是指使用专门的编译器,针对不同的平台将源码一次性翻译成该平台硬件平台能够执行的机器码并包装成为该平台可所能识别的可执行性程序的格式这个过程称为编译。编译型语言一次性翻译成机器码好处是,可以脱离开发环境独立运行运行效率高。但是因为被翻译成特定平台的机器码所以无法移殖到其它平台上去。如果要移殖的话需要在其它平台上重新编译。

解释型语言是指使用专门解释器,对源程序进行逐行解释成特定平台的机器码并立即执行的语言,不会进行整体性的编译和链接处理,每次执行解释型语言时都要进行一次编译。移殖性好,但是程序执行效率低。

JAVA语言编写的程序需要要经过编译的步骤,但不生成特定平台的机器码,而是生成与平台无关的字节码(*.class文件),字节码是不可执行性的,必须使用JAVA解释器来解释执行。也就是JAVA程序执行过程需要先编译后执行。

负责解释执行字节码文件的是JAVA虚拟机。(所有平台上的JVM向编译器提供相同的编程接口而编译只要面对虚拟机,生成虚拟机能理解的代码然后由虚拟机来解释执行,在这一虚拟机的实现中还会将虚拟机代码转换成特定系统的机器码来执行行,从而提高执行效率)