当前位置: 首页 > news >正文

网站设计配色怎么做系统优化大师下载

网站设计配色怎么做,系统优化大师下载,上海正规做网站公司报价,开公司如何做网站推广页面文章目录 iOS - Runtime - Class-方法缓存(cache_t)1. 散列表的存取值 iOS - Runtime - Class-方法缓存(cache_t) Class内部结构中有个方法缓存(cache_t),用散列表(哈希表)来缓存曾经调用过的方法,可以提高…

文章目录

  • iOS - Runtime - Class-方法缓存(cache_t)
      • 1. 散列表的存取值

iOS - Runtime - Class-方法缓存(cache_t)

Class内部结构中有个方法缓存(cache_t),用散列表(哈希表)来缓存曾经调用过的方法,可以提高方法的查找速度。(使用空间换时间的方式来提升速度)

其中,_buckets就是散列表_mask表示散列表的长度-1

哪一个类对象调用的方法,会把该方法缓存到这个类对象。也就是说,如果class1调用的方法,最终是在他的父类或者根类才找到方法实现,也会把方法混存到class1,下次class1再调用此方法,直接在自己的方法缓存里面就能找到方法

当前类查找,或者当前类没找到继续到父类或者跟根类,查找,都是优先缓存里面查找,缓存没找到再到方法列表里面去查找

1. 散列表的存取值

0NULL
1NULL
2bucket_t(_key = @selector(personTest), _imp)
3NULL
4NULL
5NULL
  • _buckets就是散列表,相当于一个数组,有个初始容量
  • 存取数据时,假设传入的是@selector(studentTest),使用@selector(studentTest)这个key& _mask,得出来的值作为数组的索引值,使用该索引值存取数据
  • @selector(studentTest) & _mask <= _mask,目的是控制得出来的索引值在数组最大容量范围之内
想象一下`&`运算后的值,一定是<= _mask
/**
0b00010101  
0b00000001     <- _mask
----------------- & 运算
0b00000001
*/
  • &_mask生成的索引值可能一样的,怎么解决,使用索引值先取一下,判断里面的key和我们要的key是否一样,不一样(或者已存在–存值时)直接将索引值-1,还一样就继续-1,减到索引值为0时,把索引值设置为_mask,继续找,然后再-1继续找,直到找到想要的key(或者空位–存值时)
  • 扩容,按原来空间2倍扩容。扩容的时候,会将缓存清掉,因为_mask的值已经变了

@oubijiexi

http://www.ds6.com.cn/news/73696.html

相关文章:

  • 宝应网站建设营销型网站建设服务
  • 苹果cms做网站百度一下官网入口
  • wordpress怎么做两个语言网站游戏推广员招聘
  • 博物馆网站 微信 微博 建设网络关键词优化方法
  • 医程通 网站做的太资源网站排名优化seo
  • 网站社区建设深圳网站建设方案
  • 涞源县住房和城乡建设局网站长春seo结算
  • 做建网站的工作一年赚几百万seo优化工作内容做什么
  • 怎么找做网站客服的工作谷歌应用商店app下载
  • 会员登录系统网站建设百度首页纯净版怎么设置
  • debion搭建wordpressseo优化查询
  • wordpress邮箱服务器怎样优化网络
  • 企业网站建设cms站百度关键词搜索量排行
  • 网站代码优化多少钱常见的网络推广方式有哪些
  • 织梦手机网站模板删除不了网站排名靠前的方法
  • 河北网站建设开发班级优化大师官网
  • 招聘网站数据分析要怎么做线上广告接单平台
  • 优化比较好的网站泉州seo外包
  • 婚姻网站建设注意事项抖音推广方案
  • wordpress 仿站步骤数字营销公司排行榜
  • 网站引流怎么做千锋教育的it培训怎么样
  • 天津做网站的公司排行新手怎么做网络推广
  • 上海网站建设公司兴田德润优惠吗深圳全网营销型网站
  • wordpress广告贵州百度seo整站优化
  • 企业怎么做网站建设创意营销案例
  • 株洲网站制作网页设计代码案例
  • 韩国有哪些做潮牌的网站广告联盟app推广
  • 临沂网站制作策划百度竞价返点开户
  • 网站建设与管理pdf百度一下首页问问
  • 带做网站价位嘉兴seo报价