iOSIT@程序员猿媛

知识点总结

2019-04-12  本文已影响0人  _兜兜转转_
objc_object::rootDealloc()
{
if (isTaggedPointer()) return;  // fixme necessary?

    if (fastpath(isa.nonpointer  &&  
                 !isa.weakly_referenced  &&  //weak表
                 !isa.has_assoc  &&  //关联对象
                 !isa.has_cxx_dtor  &&  //是否有C++析构函数,如果没有,释放时会更快
                 !isa.has_sidetable_rc))//有没有父类引用
    {
        assert(!sidetable_present());
        free(this);
    } 
    else {
        object_dispose((id)this);//销毁操作
    }
}
对象类型复制copy操作会把stack转换成mallocblock,arc情况下 copy自动转换到堆上然后修改值
对象类型复制到堆上然后修改值
建立起一个TCP连接需要经过“三次握手”:

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

[图片上传失败...(image-bc4c1e-1555049052609)]

消息查找阶段
消息转发阶段
上一篇下一篇

猜你喜欢

热点阅读