alloc 開闢記憶體空間,建立 isa
size_t instancesize
(size_t extrabytes) const
size_t size =
alignedinstancesize()
+ extrabytes;
// cf requires all objects be at least 16 bytes.
// 最少16位元組,防止野指標
if(size <
16) size =16;
return size;
}// 位元組對齊
uint32_t alignedinstancesize
() const
// 位元組對齊,8位元組對齊 word_mask 64位系統 7
# define word_mask 7ul
static inline uint32_t word_align
(uint32_t x)
-
(id)
init
+(id)
new
init 其實什麼也沒有做,直接返回了物件new 就是在呼叫alloc 與 init
區別是 init 可以重寫,new 不可以
HashMap底層原理
1.hashmap概述 hashmap是基於雜湊表的map介面的非同步實現。此實現提供所有可選的對映操作,並允許使用null值和null鍵。此類不保證對映的順序,特別是它不保證該順序恆久不變。2.hashmap的資料結構 注意,迭代器的快速失敗行為不能得到保證,一般來說,存在非同步的併發修改時,不可...
Spring IoC底層原理
siwuxie095 spring ioc 底層原理 1 ioc 即 inversion of control,控制反轉,把物件的建立 交給 spring 進行管理 2 ioc 容器管理 bean 的方式 1 基於 配置檔案的方式 2 基於 註解的方式 3 ioc 底層原理所使用的技術 1 xml ...
redis底層原理
plain view plain copy redis set message hello redis 物件的名稱 redis string 字串物件 redis list 列表物件 redis hash 雜湊物件 redis set 集合物件 redis zset 有序集合物件 cpp view ...