泰式快餐:为什么Java里有垃圾收集机制,而C++中却没有呢

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 09:55:08

因为垃圾回收机制会降低运行效率,不符合C++高效的原则。而且C++是从C发展而来的,允许手工操纵指针,于是把分配内存和回收内存的任务交给了程序员,而不是系统。

垃圾回收技术是最近(C++诞生后)才提出来的,它需要虚拟机或托管平台的支付。C++开发平台没有这个环境

java里是虚拟机自动收集不再需要使用的内存;C++中需要用delete手工释放内存。

因为java是改进c++的产物,是站在巨人的肩膀上,时代不同了,C++产生的时代,内存是那么的可怜,一个gc自己本身是多么可怕的开销,再加上引用计算等。

而且C这样的语言,诞生之初是为了底层开发的,需要的是高效,完全控制。不是别人代劳。