Java为什么可以跨平台?

首先要明白两个概念:

-> 什么是操作系统?
操作系统(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即可,就达到了“一次编译,到处运行”。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一碗谦谦粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值