Java语言跨平台可移植理解

在理解Java语言的跨平台和可移植特性前,我们先来看看C语言的跨平台性。
如下图所示:

windows平台上的C语言程序通过汇编生成二进制形式的目标文件,最后生成exe类型的可执行文件。
Linux平台上的C语言程序通过汇编生成.T类型的文件最后生成EXE类型的可执行文件。

我们经常说C语言不容易跨平台,其实说的是可执行文件层面上的不容易跨平台。

而源码层是可以跨平台的,也就是说你在windows上写的C代码是可以在Linux上运行的,但是前提要遵守POSIX原则(操作系统为上层应用提供硬件统一的API,也可以提供自己独特的API,如win32),POSIX原则其实就是接口统一原则。

大白话讲就是,你在window是上学的C语言代码,里面调用的API在Linux中也可以调用,如果你的代码中调用了windows操作系统自身的API如win32,那这个代码在Linux中肯定是会报错的。

在这里插入图片描述

下面理解Java语言跨平台性质

在这里插入图片描述
在这里插入图片描述

下图就展示了java文件生成class文件然后由平台上的JVM虚拟机执行。

在这里插入图片描述

它的特点就是一次编写处处运行
可以看到不同机器上的JVM是不一样的,JVM是不跨平台的,但是它实现了class文件的跨平台,这样也就实现了java的跨平台特性。

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值