标签:开发 代码 ruby 类库 需要 jvm 发包 套接口 源码编译
编译型语言:高级语言代码经过编译器,一次性翻译为特定系统可以硬件执行的机器码,并包装成该平台所识别的可执行程序。
但是不同平台(系统)的机器码不同,所以编译后的可执行程序无法移植到其他平台。但是因为是机器码,所以执行效率高。
解释型语言:Ruby,pathon等,使用专门的解释器对源程序逐行编译并执行的语言。这样每次运行都需要进行编译,所以效率比较低,但是可移植性好,只需要特定平台的解释器就可以对源程序进行解释。
而java即使编译型也是解释型,会先将源码编译成一种平台无关的字节码即.class文件,而不是执行文件,再经过java解释器来解释执行。
负责解释执行的部分就是JVM,java虚拟机相当于虚拟的计算机,所有的java都是面向JVM的,JVM提供相同的一套接口给字节码,这样可以使所有的java编译后的字节码在任何平台上的JVM上通过这套接口运行,不同JVM向下解释为该特定平台的机器码并运行。
JDK:java标准版开发包:包含编译环境,java运行时环境(JRE),以及常用类库.JRE包含了JVM等java运行环境,
标签:开发 代码 ruby 类库 需要 jvm 发包 套接口 源码编译
原文地址:http://www.cnblogs.com/kankanbujian/p/6100726.html