雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年12月3日

摘要: 前段时间一直想看malloc的原理,在搜了好几篇malloc源码后遂放弃,晦涩难懂。 后来室友买了本深入理解计算机系统的书,原来上面有讲malloc的原理,遂看了,先明白理论,在看代码就理解比较快了= = 1.问题的引入: 为什么要使用malloc,主要是因为在代码中,为了节约内存,很多数据都是动态生成的,所以会用malloc,对应于C++中的new,底层还是调用malloc. 2.碎片的问题: 会有内部碎片与外部碎片的问题,内部碎片难以消除(因为字对齐之类的问题),而外部碎片是可以消除的(如果不消除的话,外部的内存块越来越小,虽然数量多了,但是利用率会急剧下降!) 3.需... 阅读全文

posted @ 2013-12-03 22:34 huhuuu 阅读(13958) 评论(1) 推荐(3)

摘要: //位图的概念就是在个一字节八位的地方存八个状态比如 bool hash[] 表示某个数字被标记过,一个数字需要一个字节而bitMap就是可以把每位都用来标记,起到节约空间的目的//位图的概念就是在个一字节八位的地方存八个状态#includechar s[100]; // 范围0~799void bitmap(int n){ int insert=n/8; int insertbit=n%8; s[insert]|=(1<<insertbit);}int findBitmap(int n){ int insert=n/8; int insertbit=n%8; ... 阅读全文

posted @ 2013-12-03 10:46 huhuuu 阅读(250) 评论(0) 推荐(0)