JAVA比C++慢
主要原因
C++程序编译链接后成可执行文件,程序与底层操作系统打交道,可以充分、自由地利用底层特性。
但是,它带来的是可移植性差,依赖于所使用的平台。
JAVA编译链接后形成的是字节码文件,然后再在JVM上运行,通过JVM与底层操作系统打交道。
它带来的是可移植性强,可以再多平台运行,牺牲的是速度。
总结:加入虚拟机后,JAVA实现了跨平台,牺牲了速度。
其他
JAVA中的所有对象都创建在堆中,C++有些对象是创建在栈中。
JVM要检测数组是否越界,C++不用。