[转载] 深入理解Objective-C:方法缓存
摘要
只要用到Objective-C,我们每天都会跟方法调用打交道。我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到的,方法缓存又是怎么运作的却鲜为人知。本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过程和方法缓存(Method cache)的实现。
简介
本文系学习Objective-C的runtime源码时整理所成,主要剖析了Objective-C在runtime层的方法决议过程和方法缓存,内容包括:
从消息决议说起
缓存为谁而生
追本溯源,何为方法缓存
缓存和散列
十万个为什么
缓存 - 性能优化的万金油?
优化,永无止境