1.为了将java/c翻译为0/1序列组成的机器指令,必须有翻译员,担任翻译员工作的就是编译程序。问题在于每个平台认识的0、1序列并不一样。某个指令在windows上也许是0101,在Linux下也许是1010,因此必须使用不同的编译程序为不同的平台编译出可执行的机器码。
2.java的原始码的扩展名为.java,经过编译程序翻译为扩展名为.class的位码。
3.不同的平台必须安装专属该平台的JVM,这就好比你讲中文(*.java),java编译程序帮你翻译为英语(*.class),这份英语文件到各个国家之后,再由当地看得懂英文的人(JVM)翻译为当地语言(机器码)。所以JVM担任的职责之一就是当地翻译员。
4.JVM就是java程序的操作系统,JVM的可执行文件就是.class文档。
5.JRE是Java的执行环境,只要使用Java SE API中的链接库,在安装有JRE的计算机上就可以直接运行,无需额外在程序中在包装链接库。