java为什么可以跨平台执行

 我来答
thiz_linux
2008-01-30 · TA获得超过3万个赞
知道大有可为答主
回答量:4667
采纳率:0%
帮助的人:3301万
展开全部
java是跨平台的,就是生成的.class文件拿到任何系统平台都能运行,其实是建立在虚拟机上的,也就是jvm,你装jkd的时候就带了。
所有的java程序都是在虚拟机也就是jvm是运行的,而且jvm的版本也不同,有windows版本的还有linux版本的,正是因为有了不同的jvm才使得java可以跨平台。简单的说就是因为jvm的不跨平台才导致了java的跨平台,其实是一个过度。不象c语言他没有jvm,通过操作系统内核来编译,windows的操作系统编写的c,拿到linxu下就用不了。
打个比方,就象大家所知道的看电影有一种文件叫rmvb格式的,它拿到哪个平台都能运行,那是因为有realplayer,暴风等播放器的原因。不同的播放器有windows版 和linux版一个道理。
jiaozi95
推荐于2017-09-28 · TA获得超过1685个赞
知道小有建树答主
回答量:1648
采纳率:100%
帮助的人:417万
展开全部
因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。
1, java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的。
2,java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件。
3,就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(在UNIX用UNIX的jvm,在linux上用linux的jvm,在windows上用windows的jvm)
假如用windows移植到UNIX,只需把java文件是UNIX的jvm上编译成class文件,然后用jvm运行就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sweetwxh
2008-01-29
知道答主
回答量:10
采纳率:0%
帮助的人:10.7万
展开全部
因为JAVA有个属于自己的运行环境,既:JAVA虚拟机,虚拟机与平台无关,JAVA代码经过编译后,直接运行于虚拟机上,实现了跨平台。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好程序员
2018-08-04 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。
1, java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的。
2,java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件。
3,就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(在UNIX用UNIX的jvm,在linux上用linux的jvm,在windows上用windows的jvm)
假如用windows移植到UNIX,只需把java文件是UNIX的jvm上编译成class文件,然后用jvm运行就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朕成功先生
2008-01-31 · 超过42用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:111万
展开全部
其实跨平台没什么好牛的,不就是针对不同的操作系统写了一个执行环境。然后写好的程序都可以去执行。从大的层面上来说,所有语言都是跨平台的。只要去写那个环境。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式