java为什么没有c/c++运行速度快?
1.java是VM虚拟机运行的;java编译后产生*.class文件是运行在java虚拟机上在(JVM),经过JVM解译再放到真实机器上运行。
2.c/c++是cpu直接运行的;C/C++是直接运行在机器上,而JVM相当于用软件构造了一个计算机,有自己的CPU(假的),内存(也是假的)
3.总结:C/C++(*.exe)->机器java(*.class)->JVM->机器 这样java程序比c++运行效率低,但是因为有JVM做中介,一个操作系统下编译的*.class可以运行在其它的操作系统下,(当然要装不同操作系统下的JVM)。这是所谓的(compile once,run anywhere).
网友评论