Java程序为什么可以一次编译,处处运行-,为什么java程序可以一次编写到处运行

  Java程序为什么可以一次编译,处处运行?,为什么java程序可以一次编写到处运行

  与其他语言相比,Java程序可以“编译一次,到处运行”,可见其跨平台性非常强。但是java的这种跨平台是什么呢?在此之前,我们先来了解一下无法跨平台是什么感觉。

  如何解决写爬虫IP受阻的问题?立即使用。

  或者C等接近人类可读语言的高级语言,更接近英语语法。然而,计算机只识别由0和1的序列组成的机器指令。因此,需要将C或C语言翻译成计算机可以识别的由0和1的序列组成的机器指令。译者负责这种翻译。

  问题是每个平台上识别的0和1的序列不一样。某一条指令在Windows上可能是0101,在Linux上可能是1010,所以需要用一个不能用的编译器来编译不同平台的可执行机器码。在Windows上编译的程序不能直接在Linux等其他平台上执行。

  也就是说,用C或C语言编写的程序无法达到“编译一次,到处运行”的跨平台目的。

  Java也是一种高级语言。如果你想让计算机执行你的Java程序,你必须通过编译器编译它。但是Java编译器根据计算机平台的不同,并不是直接把Java源代码编译成0和1的序列,而是编译成字节码。

  Java源代码的扩展是。java,以及扩展名为。类是在编译器编译它之后生成的。如果要执行字节码文件,目标平台必须安装JVM(java虚拟机),它会把字节码翻译成平台相关的计算机指令,也就是0和1的序列。

  但是一定要记住:如果不能,就要安装那个平台专用的JVM。就像你说中文(*。java),Java编译器将其翻译成英文(*。类)给你。这个英文文档到达各个国家后,会被当地懂英文的人(JVM)翻译成当地语言(机器指令)。

  所以JVM的职责之一就是做一个本地翻译器,把字节码文件翻译成当时平台能理解的0和1的序列。有了JVM,你的Java程序就可以达到“编译一次,到处运行”的跨平台目的。所以过来吧。我们知道,java程序跨平台性能好的根本原因是java虚拟机JVM的存在。

   对JVM的重要认知就是:

  对于Java程序,只有一个操作系统,就是JVM,字节码文件(带有。类扩展)是JVM的可执行文件。

  理想情况下,Java并不关心它实际在哪个平台上执行,只要它知道如何在JVM上执行。至于JVM实际上如何与底层平台通信,那是JVM自己的事。由于JVM实际上相当于Java程序的操作系统,JVM负责Java程序的各种资源管理。

  我们要记住两点:

  1.JVM是Java程序的操作系统,JVM的可执行文件是。类文件。

  2.Java虚拟机屏蔽了操作系统之间的差异,但是不同的系统使用不同的虚拟机。这就是为什么上面的Java程序“编译一次,到处运行”?更多详情请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: