Java为什么没有c/c++运行速度快?

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).

你可能感兴趣的:(Java为什么没有c/c++运行速度快?)