标签:
c/c++可以自己管理内存,像nginx可以根据自己的业务特点,为每一个请求分配一个内存池,请求结束,内存池也就可以释放了
python,node.js这样的高级语言怎么解决内存碎片问题呢?
鼓吹node.js的人都会提到node.js有谷歌的v8引擎,他是有多先进,但他没想过v8是为浏览器设计的,他是不会遇到像服务端程序会遇到的内存碎片问题,一个页面不可能一直打开着吧,关掉页面,这些内存就全部释放掉了。服务端程序会遇到内存碎片问题,类似于文件系统,一个4kb的块,只用1kb,另外3kb就浪费掉了,也没办法回收。要么就定期整理磁盘,貌似java就会类似于整理磁盘一样挪动对象,需要付出代价就是消耗CPU。v8就什么都没做,其实他也没必要做,因为他是为浏览器设计的,在浏览器应用场景中压根就不会有问题,设计的时候就不会要考虑了。
现在想一个php还真是最好的编程语言呢(笑),足够简单,每一刻都是崭新的。
标签:
原文地址:http://blog.csdn.net/gamesofsailing/article/details/42965175