Java 介绍—开始学习Java |
Java是一门很奇怪的语言,以c语言为例,c语言编译器只需要把c语言代码编译为机器码就可以直接执行。
再以Python为例,Python只需要把代码丢进Python解释器就可以直接运行。
而Java奇怪就奇怪在,他需要两步,他需要先将Java代码编译成Java字节码(这就是一处编译),然后需要将Java字节码放在jvm(可以理解为Java字节码解释器),所以每个平台如果有jvm,就可以执行相同的Java字节码,因为jvm虽然底层实现有所不同,但给Java字节码的运行条件都是相同的。所以编译过的Java字节码不管是在什么平台的jvm上都能运行,只要这个平台有jvm(这就是处处执行)。
这样设计的好处就是,编译器只需要开发一次,jvm由各个平台独自开发,Java的代码在什么平台都能运行,其实这样的特性大部分解释器都有,比如Python也可以在多个平台运行。(处处执行是来自解释器解释执行的优势)
因为Java是经过编译的,编译的代码效率更高,这也是大部分解释器的缺点,Java的编译过程解决了解释器的这个缺点,使得Java既拥有解释器的跨平台性,又拥有了编译器的高性能。