黑马程序员技术交流社区

标题: JAVA是如何实现跨平台的,请用通俗的语言给予解释 [打印本页]

作者: wawsc5354524    时间: 2014-8-6 00:56
标题: JAVA是如何实现跨平台的,请用通俗的语言给予解释
不知道为什么,它凭什么可以跨平台?
作者: fxwb2005    时间: 2014-8-6 01:05
通过jre和jvm来实现的,相当于随身携带了一名万能的翻译,能把JAVA语言翻译给不同国家的人听,这位童鞋,提醒一下,申请入学时会查论坛水贴含量,超过了一定百分比会被取消资格的哟
作者: 草鱼狂飙    时间: 2014-8-6 05:48
Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class文件,也就是Java程序的跨平台性。
作者: 诺诺    时间: 2014-8-6 09:47
我理解为依靠虚拟机的存在,只要能装进去虚拟机,你编辑的语言,在这个平台上就能执行。不知道对不对
作者: 孤守星空    时间: 2014-8-6 09:56
不同平台都有能解析它语言的JVM,就像转换器
作者: huanglyhf    时间: 2014-8-6 10:38
虚拟机啊!
作者: 青偆丶易逝〃    时间: 2014-8-6 10:39
有了JVM 虚拟机,java它就不依赖平台了, 针对不系统有不同的虚拟机,它就实现了跨平台。
作者: 200米王朝    时间: 2014-8-6 10:59
虚拟机的作用

好比在PC上能够玩一部分PS的游戏一样

PC和PS处理器不同,但因为有模拟器(虚拟机)的存在,所以可以移植
作者: 好男人进化论    时间: 2014-8-6 12:06
因为java是用虚拟机开运行的,每个平台都支持JAVA虚拟机,也叫JVM,所以,JAVA是具备跨平台性的
作者: 怀念黑海岸    时间: 2014-8-6 12:24
你java运行程序是个土大款,为显风骚,雇佣了多名翻译员(虚拟机),其中有姓windows的,其中有姓linux的,还有的姓unix的,这天,土大款要去windows的国家耍耍,但是姓linux和unix的都不懂windows家乡的语言,于是土大款就带上windows的翻译去了,莫有问题吧,当土大款什么时候要去linux的家乡耍耍,肯定要带上linux了,就是这个道理:java之所以能跨平台,是因为有对应系统的虚拟机帮java程序完成java程序与该系统底层之间的交互,这就是跨平台原理。
作者: .Mч┞尛__洋    时间: 2014-8-6 16:25
  因为他是在虚拟机上运行的  虚拟机可以安装在任何平台上  
作者: 姜佳文    时间: 2014-8-6 16:33
不同的平台有对应的JVM,只要安装上对应的JVM就可实现跨平台
作者: wawsc5354524    时间: 2014-8-7 01:07
fxwb2005 发表于 2014-8-6 01:05
通过jre和jvm来实现的,相当于随身携带了一名万能的翻译,能把JAVA语言翻译给不同国家的人听,这位童鞋,提 ...

纳尼,那那种不算是水贴额,我现在发个帖子战战兢兢的额
作者: fxwb2005    时间: 2014-8-7 13:21
wawsc5354524 发表于 2014-8-7 01:07
纳尼,那那种不算是水贴额,我现在发个帖子战战兢兢的额

俺只是好意提醒一下,是不是水贴黑马说了算,我只是在论坛的某个地方看到这句话,说申请入学的时候会审查水贴在发帖总数中的百分比,超过了百分之多少就取消资格,这不是怕童鞋们辛苦一番,到头来发现白干了么。
作者: 阳光的嘉主角    时间: 2014-8-7 13:39
每个平台都要虚拟机提供解析
作者: @for    时间: 2014-8-7 13:44
不同的平台有不同的JVm,写好的程序在jvm运行
作者: 左脑想你    时间: 2014-8-7 13:49
java本身不能跨平台~~但是呢他有几个工具,这几个工具与现有几个操作平台一一对应,就好比程序这个世界里有几扇门而java语言自身随身带了这几个门的钥匙,当然java也就能进入这几扇门后面的世界了
作者: 吥洅ㄨ错过ㄩ    时间: 2014-8-7 19:13
因为Java 是通过虚拟机编译的
作者: 南柯一梦    时间: 2014-8-7 21:13
针对不同版本操作系统,做出不同版本虚拟机,而java语言每种虚拟机都可以识别,底层调用由虚拟机完成
作者: Fightin黑马    时间: 2014-8-7 22:15
Java文件必须在虚拟机JVM上运行,但是JVM并不是跨平台的,不同的操作系统必须安装适合该系统的JVM,一这种方式实现它的跨平台
作者: 梧桐树下    时间: 2014-8-7 22:37
主要因为有虚拟机
作者: 七丶哥    时间: 2014-8-7 22:43
虚拟机啊,把java语言,翻译给各种版本的平台,就可以了
作者: 忆梦追风    时间: 2014-8-7 22:49
就是在各个平台上都可以安装相应平台的java虚拟机,Windows能运行c程序就是因为Windows内置c的虚拟机,而java的虚拟机各个平台的都有,所以才可以跨平台的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2