为什么说java的运行与计算机硬件平台无关

急... 展开
 我来答
百度网友f384c78
2009-10-19 · TA获得超过2070个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:706万
展开全部
本来不想回答的,但是上面仁兄的解释太让我无语,还是不要在这里误导大众比较好。

楼主应该知道java虚拟机(也就是JVM)吧,java虚拟机是一个普通的软件,它是与硬件和操作系统相关的,但正是因为有这个软件的存在,使我们写的java代码可以硬件平台无关。因为在不同硬件和平台上运行的虚拟机可以将相同的java代码翻译成不同的机器语言,因此可以在不同的机器上运行。

虚拟机就像翻译,对于同样一句汉语,到日本去就需要日语翻译,到英语国家去就需要英语翻译。但对于这句汉语,我们不需要进行任何修改,只要把翻译换了就成。在这里,我们说这句汉语是平台无关的,而由平台相关的翻译完成中间的转换。
li9534719
2009-10-19 · TA获得超过133个赞
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
你要知道JVM提供了Java执行的硬件平台,JRE提供了Java执行的软件平台
jvm和jre本质上都是软件。

但jvm处理的更多的是类似于硬件的任务。java在编译后会生成类似于汇编的机器语言,这一点和C语言时类似的。但不同的是C语言编译后生成的汇编语言会直接在硬件上跑。但java编译后生成的机器语言实在jvm上跑,也就是说jvm还要将机器代码再翻译一遍,才能使java程序运行起来。

概念上讲,jvm起到了模拟了一台计算机的作用,这样做是为了使代码受控后更安全,同时也避免了硬件不兼容的问题,使得java程序能够跨平台运行,因为尽管运行环境不同,但是jvm是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式