日期:2014-05-17  浏览次数:20558 次

问一个java虚拟机的问题,老想不通
java虚拟机在不同系统中是不同的吗,那得需要多少版本系统的java虚拟机啊,这样java可以跨平台了,但是java虚拟机就不同了,就比较麻烦了啊;如果不同系统java虚拟机是一个的话,那么它是如何辨认不同系统的呢,再说如果出来了新系统不又不适合了吗,哪位高手给指点下吧,不胜感激

------解决方案--------------------
首先声明 我说的不一定对,但我说说我的看法 我认为jvm每个系统都是不同的 虽然会比较麻烦,但现在主流的系统也没有几个吧 而且即使开发不同的jvm兼容系统,也是Oracle公司的事 用不着程序员考虑 程序员只要开发java代码就可以了
------解决方案--------------------
原因在于JVM需要跟OS打交道,所以JVM必须调用OS提供的那些API
而每个操作系统提供的API是千差万别,所以必须针对不同的OS完成
不同的JVM,只用这样位于JVM之上的Java字节码才可以实现跨平台

所以Java号称,一次编译,到处运行
而C/C++等则是,到处编译,到处运行
相比之下,谁更强大/?