首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
底层探索
云先生
创建于2021-08-18
订阅专栏
底层探索
暂无订阅
共11篇文章
创建于2021-08-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
二:对象原理之对象的内存结构
1. 数据成员对⻬规则 2. 结构体作为成员 如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储.(struct a里存有struct b, b里有 char, int, double 等元素,那b应该从8的整数倍开始存储)。 3. 收尾工作…
底层探索-启动优化
当你从手机桌面点击APP,然后左等右等页面还没有出现的时候,你是否会抓狂,甚至是卸载掉。因此,基于用户体验和用户留存,良好的启动速度也是我们必须面对的一个环节。 一:启动类型 "冷启动"和"热启动"
底层探索-内存管理
当提到App的优化时,优化内存必然是会被提到的,本篇章就来探索下内存管理。 一:内存布局 关于内存的分区,在 底层探索-多线程基础已经做了相关介绍,在此进行一些补充。除了常说的五大区,还有内核区和保留
LLVM小解
一:编译器 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码,而这种转换都是需要编译
Runloop
如果有了Runloop,程序不会马上退出,而是继续保持运行状态。 mach_msg() 函数实际上是调用了一个 Mach 陷阱 (trap),即函数mach_msg_trap(),陷阱这个概念在 Mach 中等同于系统调用。当你在用户态调用 mach_msg_trap() 时会…
底层探索-Block详解
说到Block,相信大家并不陌生,平时开发用的太多了,本篇章就从基础到深入,全方位的来进行分析。 一:Block初探 1. 什么是Block? Block就是一个代码块, Block是将函数及其执行上
底层探索-锁
讲到锁这个话题,开头先推荐大佬的博客 不再安全的 OSSpinLock 一:基础介绍 什么是互斥锁 互斥锁:顾名思义,互相排斥。线程A获取到锁,在释放锁之前,其他线程都获取不到锁。互斥锁也分为两种:
底层探索-多线程之GCD(单例,栅栏函数、信号量、调度组、事件源)
本篇章从源码的角度来探索单例,栅栏函数、信号量、调度组、事件源 一:单例 dispatch_once 单例我们在开发中也是使用非常频繁,其中我们使用到了GCD的dispatch_once函数 定义如下
底层探索-多线程之GCD(队列)
一:GCD初探 什么是GCD? GCD的优势 GCD 是苹果公司为多核的并⾏运算提出的解决⽅案 GCD 会⾃动利⽤更多的CPU内核(⽐如双核、四核) GCD 会⾃动管理线程的⽣命周期(创建线程、调度任
十六:底层探索-多线程基础
平时开发中,多线程也与我们的开发紧密相关且被广泛应用,本篇章就对多线程的学习做个记录。 一:基础 - 线程 进程 队列 1.1 什么是进程 进程是指在系统中正在运行的一个应用程序,手机上的任何一个Ap
十五:底层探索 - KVO
一: 什么是KVO? KVO:全名为Key-Value Observing,通常我们将其称之为键值观察,它是OC中观察者模式的一种体现,NSNotification也是观察者模式的一种,每次当被观察对