1. 部署,一种常用的高可用部署方案 对于节点比较少的集群,可以采用每个节点都是镜像模式,从而队列数据做全镜像备份,保证数据安全和高可用,如果节点书比较多,可以采用超过半数(...
1. 部署,一种常用的高可用部署方案 对于节点比较少的集群,可以采用每个节点都是镜像模式,从而队列数据做全镜像备份,保证数据安全和高可用,如果节点书比较多,可以采用超过半数(...
第1章:熟悉Objective-C 第4条:多用类型常量,少用#define预处理指令 声明类型常量好处是,编译器可以知道此变量的类型,且可以防止外部随意修改 声明规则:全局...
内存管理篇:1.引用计数的思考方式 自动引用计数 支持条件:clang(LLVM编译器)3.0版本以上objc4 OC运行时库 493.9版本以上编译器设置中置为“ARC有效...
内存管理篇: 2.alloc/retain/release/dealloc的实现 GNUstep的实现方式 GNUstep的版本将引用计数与对象的内存组合在一起,方便读写存取...
内存管理篇: 3.autorelease autorelease的实质:将创建的对象加入到NSAutoreleasePool管理“数组”中,并告知ARC系统暂时不要对此对象进...
内存管理篇: 4.ARC的所有权修饰符 所有权修饰符 在ARC下,对象必须通过所有权修饰符进行修饰,系统会根据不同的所有权修饰符对对象进行相应的内存管理。所有权修饰符包括:_...
内存管理篇: 6.不要使用静态和动态数组(非OC集合对象) 静态数组(类似于c数组,非OC的集合对象): 使用__strong、__weak和__autoreleasing修...
内存管理篇: 5.ARC的规则补充 ARC的方法命名 我们都知道,在内存管理的思考方式中,当方法命名以“alloc、new、copy、mutableCopy”开头或直接命名时...
内存管理篇:7.ARC实现之__strong及autorelease优化 对于持有非自己创建的对象的情况,我们知道,这种情况是指对于非“alloc、new、copy和muta...
内存管理篇:8.ARC实现之__weak 我们知道,weak修饰的变量,其地址是被存储在一个专用的散列表中,此散列表的键值为原内存的散列值(即对象地址的hash值)。 __w...
Blocks篇:1.Blocks的声明 Blocks是带有自动变量值的匿名函数。 写法: Blocks变量声明:与C函数指针声明基本相似,将指针符号"*"替换为“^”。 Bl...
Blocks篇:2.Blocks的调用过程及其对象本质 Blocks实际上是通过支持Block的编译器,将其转换为标准的C代码进行编译。我们可以使用clang的“-rewri...
Blocks篇:3.Blocks使用捕获到的变量 所谓Blocks捕获变量,即在Block函数体内使用外部声明的变量。 1. 捕获局部变量(自动变量)和静态局部变量 转换后的...
Blocks篇:4.Blocks的存储域 在上一节中我们知道,在Block捕获不同种类的变量时,生成的Block对象的类型(isa指针)分为三种:_NSConcreteSta...
Blocks篇:5.Blocks修改捕获到的变量(__block修饰符) 我们知道,在Block中,修改捕获变量的方式:对于全局变量,由于实质上Block并未对其进行捕获,故...
建议你把文中的一些synchronized修饰符去掉,以免误导他人,代码需要的是认真的态度
你自己都没搞明白呢吧,误人子弟,乱写一通
Android 设计模式之 单例模式作者:ivm 之前做android 项目时,用的最多的就是设计模式,就是单例模式,用的时候,心里总有些疑问。今天呢,看了《Android 源码设计模式 解析与实战》,把自己的...