①. 字节码文件的跨平台性(了解)
- ①. Java语言:跨平台的语言
当Java源代码成功编译为字节码后,如果想在不同的平台上运行,则无须再次编译
这个优势不再那么吸引人了。Python PHP perl ruby lisp等有强大的解释器
跨平台似乎已经快成为一门语言必须的特征
②. Java虚拟机:跨语言的平台:
( Java虚拟机不和包括java在内的任何语言绑定,它只与class文件这种二进制文件格式所关联。无论使用何种语言进行软件开发,只要将源文件编译为正确的Class文件,那么这种语言就可以在Java虚拟机上执行,可以说,统一而强大的Class文件结构,就是Java虚拟机的基石、桥梁)
③. 想要让一个Java程序正确地运行在JVM中,Java源码就必须要编译为符合JVM规范的字节码
前端编译器的主要任务 就是负责将符合Java语言规范的Java代码转换为符合JVM规范的字节码文件
javac是一种能够将Java源码编译为字节码的前端编译器
javac编译器在将Java源码编译为一个有效的字节码文件过程中经历了4个步骤:分别是词法解析、语法解析、语义解析以及生成字节码
②. Java的前端编译器(了解)
- ①. 前端编译器 vs 后端编译器
②. 图解: