首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
老青菜
掘友等级
iOS
|
@
iOS Swift flutter javascript c# ...
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
29
文章 27
沸点 2
赞
29
返回
|
搜索文章
最新
热门
HTTP/2.0 Server Push 分析
Server Push,即服务器推送,rfc7540#section-8.2 中有详细的描述。简单来说,HTTP/2.0允许 Server 抢先发送/推送Response,以及相应的promise请求给 Client,并且与 Client 之前发起的请求相关联。 使用场景也有限…
HTTP/2.0 Header Compression 头部压缩(下)
上一篇 我们了解了Header Compression的压缩效果和原理(索引表和静态霍夫曼编码)。这篇文章我们主要是对照 rfc7541 文档,了解Header字段压缩规则,以及实际的表现形式。 Header字段表现形式分为两大类:Indexed数字索引、Literal字符。L…
HTTP/2.0 Header Compression 头部压缩(上)
在HTTP/1.x时代,支持Body压缩,Header不支持压缩。而现在一个网页可能有几十到上百个请求,一个请求Header至少600Byte以上。那么这些页面的请求Header会消耗不必要的带宽,增加延迟。 在SPDY协议中,SPDY通过使用 DEFLATE 格式,有效的压缩…
HTTPS MITM 中间人攻击分析
HTTPS MITM(Man in the middle attack),中间人攻击。也就是通讯双方中插入一个中间人,通讯双方的对方已经变成中间人了,而不是原本的对方。 我们来看下中间人模式是如何工作的。 A访问B,发送消息 hello。 中间人C通过 ARP 欺骗、DNS 污…
iOS NSMutableArray 底层分析
在这之前,一直以为NSMutableArray底层实现和普通可变数组(c++ vector)一样,插入和删除操作会移动元素,时间复杂度可能会达到O(n),效率并不高,直到看到这篇文章 NSMutableArray原理揭露 ,才发现自己理解是错误的。这里记录一下自己的分析过程。 …
iOS Atomic 底层分析
原子属性,只能保证getter、setter的操作是安全的。我们看下objc里关于getter、setter的实现。 可以看到标记atomic的property生成的getter、setter内部使用了spinlock_t自旋锁保证了getter、setter的访问安全。 at…
iOS NSLock 底层分析
在Foundation框架中,提供了NSLock互斥锁、NSCondition条件变量、NSConditionLock条件锁、NSRecursiveLock递归锁。 这些锁都是在POSIX标准接口的pthread_mutex、pthread_cond基础上,增加了面向对象的封装…
iOS Synchronized 底层分析
synchronized是objc中提供的同步锁,支持递归。但是在swift中删除了,可以使用objc_sync替代。 想要弄清楚这些问题,还得弄清楚synchronized的底层实现,接下来我们来分析具体的实现。 首先通过汇编来分析下synchronized都做了什么,先写一…
iOS OSSpinLock
自旋锁(Spinlock)是一种忙等待锁,线程反复检查锁变量是否可用,不会挂起,避免了进程上下文的调度开销,适合阻塞很短时间的场合。当然也就不适合单CPU单线程上使用。 另外需要注意的是,可能是由于安全问题(具体可以看不再安全的OSSpinlock - ibireme),自旋锁…
iOS中常用的锁
最近在整理iOS锁相关的知识,翻阅了网上很多iOS锁的文章,基本都是起源于ibireme的不再安全的OSSpinlock。关于锁,多多少少会有下面这些疑问: 接下来我们一个个来解释。 锁是保证线程安全的同步工具,每一个线程在访问数据前,要先获取acquire锁,访问结束之后释放…
下一页
个人成就
文章被点赞
72
文章被阅读
20,034
掘力值
566
关注了
0
关注者
39
收藏集
0
关注标签
15
加入于
2018-06-21