首先要明白两个概念:
-> 什么是操作系统?
操作系统(Operating System ,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。OS是现代计算机系统中最基本的系统软件。——《计算机操作系统(第四版)》
-> 什么又是平台相关性?
不同的平台(能够支持程序运行的硬件或软件环境为平台)都有其特有的指令格式。
就好像,Windows系统只能运行Windows的程序(exe),Linux系统只能运行Linux的程序;一样的道理,Windows的可执行文件不能直接运行在Linux系统中。Android手机只能运行Android的APP,不能运行iPhone的APP。
使用特定平台的编译器所编译的程序只能在对应的平台运行,编译器是与平台相关的,编译后的文件也是与平台相关性的。(这里的语言跨平台是指编译后的文件跨平台,而不是源程序跨平台)
-> Java是如何实现跨平台的?
关键的一个点是虚拟机(JVM)
对Java进行编译后,会生成与平台系统无关的文件——字节码文件。
但是Windows、Linux是不能执行字节码文件的,
只有Java虚拟机(JVM)才能识别字节码文件。
所以,想在Windows上运行Java程序,就要安装Windows版的JVM;
想在Mac系统上运行,就要安装Mac版本的JVM。
只与Java虚拟机有关,所以就实现了跨平台。
=> 总的来说,编译Java后生成与平台无关的字节码文件,若要运行该文件,只需安装对应的JVM即可,就达到了“一次编译,到处运行”。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117911.html