首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

学习JVM原理-18.Java比C/C++的性能倒底差在哪儿

2012-10-09 
学习JVM原理-18.Java比C/C++的性能倒底差在哪里?摘自《深入理解Java虚拟机》周志明著都说因为解释执行的缘故

学习JVM原理-18.Java比C/C++的性能倒底差在哪里?
摘自《深入理解Java虚拟机》周志明著


都说因为解释执行的缘故,JAVA比C/C++差; 现在主流JVM都带JIT编译器了,JAVA还比C/C++差吗? 

答案:是。缺点如下:

  1.JIT是在运行时编译,占用系统开销,挤占了程序本身的资源
    2.JVM需要检查空指针、指针越界等问题,耗时
    3.JAVA里多态用的更多,很多virtual方法,编译时不好做内联优化
    4.JAVA可以动态加载类,改变程序的继承关系,这使得很多全局优化都不好做
    5.JAVA在栈上还是堆上分配内存这个机制是固定的,C/C++就灵活多了,可以按需分配,实现更好的性能
    6.JAVA要GC,GC耗资源

热点排行