内存带宽
内存的速度决定于内存的带宽。
内存带宽计算公式
带宽=总线宽度×总线频率×一个时钟周期内交换的数据包个数。
什么是缓存的命中率?
缓存是为了加速读取速度,所以在缓存里面存储了一些经常要被用到的数据,如果有人想到缓存中取数据而且拿到了数据这个就叫做命中,反之就叫做没命中。
命中率就是命中次数与到缓存中取数据次数的比值。
CPU访问数据的顺序通常是怎样的?
首先是123级缓存,然后内存,接着是硬盘。
CPU和内存之间的速度仍然是有一段差距的,所以缓存解决了速度不匹配的问题。
MRR(Manual Retain Release)是ARC的基础,ARC是编译时插入了内存管理方法,方便管理。
内存问题主要指2方面
1.释放或者覆盖正在使用的数据,这叫内存损坏。
2.内存数据在该释放的时候却没有被释放,这叫内存泄露。
autoreleasepool可以让对象延迟release,就是虽然对象丧失了所有权,但是并没有被立即释放。
引用计数
1.对象创建时引用计数是1。
2.每retain一次,引用计数+1。
3.每release一次,引用计数-1。
4.autorelease释放后,引用计数-1。
5.当引用计数为0的时候,对象自动释放。
copy对引用计数的影响
copy一个对象,会生成一个新对象,这个新对象的引用计数为1。