披风智力之缚哪买:跨平台都说Java是跨平台的,什么样才是跨平台啊?

来源:百度文库 编辑:高考问答 时间:2024/04/28 22:17:48
都说Java是跨平台的,什么样才是跨平台啊?
c语言为什么就不能跨平台?虽然各个机器的cpu指令系统不一样,但是都有各自的编译程序啊,可以把一样的c源代码编译成本机自己的cpu指令,比如这台机上加法是01,那台机上加法是99,我的程序里的加法在这台上编译成01,那台上编译成99,不是都可以实现?我知道Java是解释性的,为什么要用解释性,多麻烦啊?
谁能具体给讲讲啊,不甚感谢。

java的应用不需要为不同的硬件操作系统平台,使用不同的编译器来编译,他是运行在一个虚拟的机器上jvm;所以不管是什么样的机器只要有合适的jvm就可以正确的运行java程序。c语言要想在不同的平台上运行必须有相应的编译器重新编译。另外Java Applet程序可以远程运行,用户也可以在浏览器中运行,不用考虑具体的硬件和操作系统。这一点是c无法实现的。

java的运行主要是靠虚拟机也就是JVM,在不同的操作系统上,都有不同的JVM来运行java程序,但这些不需要开发者关心,也就是开发者无论在什么操作系统上开发的java程序,在另一个装有jvm的操作系统上都可以运行。这就是所谓的跨平台。

跨平台就是:比如你在微软的操作系统上,编写一个程序,那到linux系统上如果你用的不是java它就读不了。

和他的虚拟机有关吧