首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ms
订阅
用户5574497467807
更多收藏集
微信扫码分享
微信
新浪微博
QQ
20篇文章 · 0订阅
RxSwift(十一) KVO基本使用及实现原理探究
使用RxSwift后,经常会用到KVO,但是并没有去探究底层是如何实现的,是否和swift的KVO实现原理相同,本文将探究RxSwift里的KVO的底层实现原理。 rx.observeWeakly: 效率较低一些,因为它要处理对象的释放,防止弱引用。所以它一般使用在weak属性…
iOS底层-分类的加载分析
本文旨在通过分析分类的加载流程,类和分类分别在懒加载和非懒加载时的表现,完善所有类的加载流程。 上一篇文章类的加载分析分析了map_images的主要流程,此流程中最后为分类的加载部分,现在回头来解析下。 其先从macho中__objc_catlist段下读取分类,然后遍历读取…
iOS信号量造成线程优先级反转 | 京东云技术团队
在并发队列使用信号量会可能会造成线程优先级反转 一、在iOS16 & XCode14上遇到 - 使用信号量造成线程优先级反转问题 提醒 经过查询资料,发现是在XCode14上增加了工具,比如 : Th
Block && 多线程
block的内部实现,结构体是什么样的 在Objective-C中,block是一种闭包,它可以封装一段代码以及其执行环境。当我们定义一个block时,它在编译后的底层存储结构是一个结构体。 下面是b
iOS野指针定位总结
野指针就是指向一个已删除的对象或者受限内存区域的指针。 我们写C++的时候强调指针初始化为NULL,强调用完后也为其赋值为NULL,谁分配的谁回收,来避免野指针的问题。 比较常见的就是这个指针指向的内存,在别处被回收了,但是这个指针不知道,依然还指向这块内存。 MRC 时代因为…
Objective-C runtime源码小记-Tagged Pointer
本文是基于runtime源码,关于Objective-C 中Tagged Pointer的总结和介绍
Objective-C runtime源码小记-再谈isa
本文基于可编译的objc4-750版本源码进行讨论,关于Objc中isa的介绍和总结,设计了Non-Pointer的介绍
iOS-底层-isa指针和superclass指针+窥探Class
上一篇文章,我们介绍了OC对象的分类,它们内存中存放的信息如下图: 但是这个isa和superclass有什么用呢? 首先我们创建两个类,如下: 其中MJStudent继承于MJPerson 一. i
Java 实现 LRU 算法
力扣题目:146. LRU 缓存 LRU 是什么? 最近最少使用算法。一个队列,将最近使用的元素放到队列的头部,当队列长度不够时,移除队列的最后一个元素,也就是最近最少使用的元素。 解法 1:继承 L
HTTP----HTTP2.0新特性
HTTP2.0大幅度的提高了web性能,在HTTP1.1完全语意兼容的基础上,进一步减少了网络的延迟。实现低延迟高吞吐量。对于前端开发者而言,减少了优化工作。本文将重点围绕以下几点新特性的作用、工作过程以及如何更出色的完成了优化工作来介绍HTTP2.0 在不改变HTTP1.x的…