2个回答
展开全部
本来不想回答的,但是上面仁兄的解释太让我无语,还是不要在这里误导大众比较好。
楼主应该知道java虚拟机(也就是JVM)吧,java虚拟机是一个普通的软件,它是与硬件和操作系统相关的,但正是因为有这个软件的存在,使我们写的java代码可以硬件平台无关。因为在不同硬件和平台上运行的虚拟机可以将相同的java代码翻译成不同的机器语言,因此可以在不同的机器上运行。
虚拟机就像翻译,对于同样一句汉语,到日本去就需要日语翻译,到英语国家去就需要英语翻译。但对于这句汉语,我们不需要进行任何修改,只要把翻译换了就成。在这里,我们说这句汉语是平台无关的,而由平台相关的翻译完成中间的转换。
楼主应该知道java虚拟机(也就是JVM)吧,java虚拟机是一个普通的软件,它是与硬件和操作系统相关的,但正是因为有这个软件的存在,使我们写的java代码可以硬件平台无关。因为在不同硬件和平台上运行的虚拟机可以将相同的java代码翻译成不同的机器语言,因此可以在不同的机器上运行。
虚拟机就像翻译,对于同样一句汉语,到日本去就需要日语翻译,到英语国家去就需要英语翻译。但对于这句汉语,我们不需要进行任何修改,只要把翻译换了就成。在这里,我们说这句汉语是平台无关的,而由平台相关的翻译完成中间的转换。
展开全部
你要知道JVM提供了Java执行的硬件平台,JRE提供了Java执行的软件平台
jvm和jre本质上都是软件。
但jvm处理的更多的是类似于硬件的任务。java在编译后会生成类似于汇编的机器语言,这一点和C语言时类似的。但不同的是C语言编译后生成的汇编语言会直接在硬件上跑。但java编译后生成的机器语言实在jvm上跑,也就是说jvm还要将机器代码再翻译一遍,才能使java程序运行起来。
概念上讲,jvm起到了模拟了一台计算机的作用,这样做是为了使代码受控后更安全,同时也避免了硬件不兼容的问题,使得java程序能够跨平台运行,因为尽管运行环境不同,但是jvm是一样的。
jvm和jre本质上都是软件。
但jvm处理的更多的是类似于硬件的任务。java在编译后会生成类似于汇编的机器语言,这一点和C语言时类似的。但不同的是C语言编译后生成的汇编语言会直接在硬件上跑。但java编译后生成的机器语言实在jvm上跑,也就是说jvm还要将机器代码再翻译一遍,才能使java程序运行起来。
概念上讲,jvm起到了模拟了一台计算机的作用,这样做是为了使代码受控后更安全,同时也避免了硬件不兼容的问题,使得java程序能够跨平台运行,因为尽管运行环境不同,但是jvm是一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询