美文网首页
字节码文件的跨平台性

字节码文件的跨平台性

作者: Shaw_Young | 来源:发表于2020-10-18 15:30 被阅读0次

    1.Java语言:跨平台的语言

    • 当Java源代码成功编译成字节码后,如果想在不同的平台上面运行,则无需再次编译。
    • 这个优势不再那么吸引人了。Python、PHP、Perl、Ruby、Lisp等有强大的解释器。
    • 跨平台似乎已经快成为一门语言必选的特性。

    2.Java虚拟机:跨语言的平台

    Java虚拟机不和包括Java在内的任何语言绑定,它只与"Class文件"这种特定的二进制文件格式所关联。无论使用何种语言进行软件开发,只要能将源文件编译为正确的Class文件,那么这种语言就可以在Java虚拟机上执行。可以说,统一而强大的Class文件结构,就是Java虚拟机的基石、桥梁。

    • 所有的JVM全部遵守Java虚拟机规范,也就是说所有的JVM环境都是一样的,这样依赖字节码文件可以在各种JVM上运行。

    3.想要让一个Java程序正确地运行在JVM中,Java源码就必须要被编译为符合JVM规范的字节码

    • 前端编译器的主要任务就是负责将符合Java语法规范的Java代码转换为符合JVM规范的字节码文件。
    • javac是一种能够将Java源码编译为字节码的前端编译器。
    • Javac编译器在将Java源码编译为一个有效的字节码文件过程中经历了4个步骤,分别是词法分析、语法解析、语义解析以及生成字节码

    Oracle的JDK软件包括两部分内容:

    • 一部分是将Java源代码编译成Java虚拟机的指令集的编译器。
    • 另一部分是用于实现Java虚拟机的运行时环境。

    相关文章

      网友评论

          本文标题:字节码文件的跨平台性

          本文链接:https://www.haomeiwen.com/subject/qhuvpktx.html