摘要: atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,sette... 阅读全文
posted @ 2015-06-12 17:02 aprogrammer 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 堆和栈的区别: 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别... 阅读全文
posted @ 2015-06-12 16:58 aprogrammer 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 在TCP/IP 协议中,TCP协议提供可靠的连接服务,采用三次握手建立连接;第一次握手:建立连接时,客户端发送连接请求到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到客户端连接请求,向客户端发送允许连接应答,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器... 阅读全文
posted @ 2015-06-12 07:22 aprogrammer 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。首先整理了一份Github上排名靠前... 阅读全文
posted @ 2015-06-12 06:33 aprogrammer 阅读(143) 评论(0) 推荐(0) 编辑