java的跨平台性与c语言,Java为什么具有跨平台性?

1.先回顾一下初出茅庐的时候

在我刚刚开始接触到Java的时候,印象比较深刻的就是面向对象,跨平台性,至于跨平台性,当然,也稍微了解到了Java背后那个大神!

JVM!Java虚拟机

但是连基本语法都搞不懂的我,那个时候就更不用提虚拟机了。

你们还记得大学必修课C语言了,当初真是这个课次次重修差点把我劝退!我也不记得自己是凭着什么样的心情居然跑去学了java,当然第一堂课就配置环境变量,也是两股战战,极度崩溃,反复报错反复问度娘,可能就真的是许三多的优良美德到我这里传承的不错,愣是坚持下来了。

题外话不多说了,还是回到正题,聊聊Java。

2.Java为什么具有跨平台性?

就是因为java背后的男人jvm义无反顾始终如一的支持!

不好意思,要说jvm,我就还得扯回我刚开始学Java的故事。

在我还是个菜鸟的时候,我就在想跨平台性到底指的是什么,相对于其他语言,这个特点有什么特别的优势嘛?

实际上也很简单,分词理解,跨平台==即不依赖操作系统,也不依赖硬件环境,指的是操作系统,也就是说,这种语言跨越了操作系统和硬件的限制。

官方的回答我看的也是一知半解,没办法技术太菜了!我疑惑的地方就在于明明其他语言在不同的操作系统上也能运行,这难道不是跨平台性吗?跨平台跨的是哪个平台?

简单理解下:

讲一个C++吧,C++只能在windows上运行,其他操作系统不能运行2.讲一个C语言吧,C写的程序可以在其他操作系统上运行,但是对于不同的系统,由于不同操作系统外部提供的api不同,而且还要修改代码,所以在编译时需要编译成指定的汇编语言!

但Java就比较嚣张了,在他身后有一个默默支持它的人,Java想做什么就做什么,不用在乎你是什么操作系统,我只关心我的代码,具体调用交给它的好兄弟Jvm去做,Java更潇洒,万花筒,不沾片。

说到底,讲了那么多话,总结提炼成一句比较简短的话。

在编译时,Java语言没有必要关注不同操作系统的底层api的调用,也没有必要关注cpu类型,C语言在编译时,需要关注不同操作系统的底层api的调用,也没有必要关注cpu类型。

3.总结:

一个Java编译一个地方运行,一个c语言编写一个地方运行。

对于这个跨平台来说,仁者见仁智者见智,但是,精髓就是自我理解。

跨平台语言意味着编译结果与操作系统和cpu类型无关,在编码时不需要考虑这些外部因素。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值