上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 60 下一页

2012年4月26日

摘要: obj-c本质就是"改进过的c语言",大家都知道c语言是没有垃圾回收(GC)机制的(注:虽然obj-c2.0后来增加了GC功能,但是在iphone上不能用,因此对于iOS平台的程序员来讲,这个几乎没啥用),所以在obj-c中写程序时,对于资源的释放得由开发人员手动处理,相对要费心一些。引用计数这是一种古老但有效的内存管理方式。每个对象(特指:类的实例)内部都有一个retainCount的引用计数,对象刚被创建时,retainCount为1,可以手动调用retain方法使retainCount+1,同样也可以手动调用release方法使retainCount-1,调用rele 阅读全文
posted @ 2012-04-26 14:15 Hibernate4 阅读(148) 评论(0) 推荐(0) 编辑

2012年4月25日

摘要: 程序员编程艺术第一~二十七章集锦与总结(教你如何编程)作者:July、编程艺术室出处:结构之法算法之道blog一、引言 自从去年7月份朋友花明月黯帮我制作了十三个经典算法研究的PDF文档之后,我便一直希望能有人再帮我制作我的另一个系列:程序员编程艺术的PDF文档,而就在本月3日,朋友吴超帮我完成了这一工作。当时,便立马在微博上分享出来,很快,便有超过600人次朋友转发,直至今日,已有近1000名朋友得到了此PDF。 而后我意识到,尽管我很不喜欢一些不劳而获者,但我也不愿去让我的读者朋友们去做一些繁琐的点击,转发,进群等动作。故,既然要分享,那就把无限分享惠及天下做到极致吧,以省去诸... 阅读全文
posted @ 2012-04-25 22:07 Hibernate4 阅读(225) 评论(0) 推荐(0) 编辑

2012年4月23日

摘要: 1. Duplicated Code(重复的代码)臭味行列中首当其冲的就是Duplicated Code。如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。最单纯的Duplicated Code就是[同一个class内的两个函数含有相同表达式(expression)]。这时候你需要做的就是采用Extract Method提炼出重复的代码,然后让这两个地点都调用被提炼出来的那一段代码。另一种常见情况就是[两个互为兄弟(sibling)的subclasses内含有相同表达式]。要避免这种情况,只需要对两个classes都使用Extract Method,然 阅读全文
posted @ 2012-04-23 19:39 Hibernate4 阅读(172) 评论(0) 推荐(0) 编辑

2012年4月21日

摘要: 在cocoa application的应用中,我们有时会使用Core Foundation(CF),我们经常会在Objective-C和CF之间进行转化。系统使用arc的状态下,编译器不能自动管理CF的内存,这时候你必须使用CFRetain和CFRelease来进行CF的内存的管理。具体的CF内存管理规则见:Memory Management Programming Guide for Core Foundation在OC和FC之间进行转化的时候,主要是对象的归属问题。共有两种方式:1、使用宏,可以标识归属者从OC到CF,还是从CF到OC。NS_INLINE CFTypeRef CFBridg 阅读全文
posted @ 2012-04-21 00:16 Hibernate4 阅读(161) 评论(0) 推荐(0) 编辑

2012年4月20日

摘要: There are a number of data types in the Core Foundation framework and the Foundation framework that can be used interchangeably. This capability, calledtoll-free bridging, means that you can use the same data type as the parameter to a Core Foundation function call or as the receiver of an Objective 阅读全文
posted @ 2012-04-20 15:35 Hibernate4 阅读(360) 评论(0) 推荐(0) 编辑

2012年4月19日

摘要: There is a really great book more than worth reading byJoshua BlochcalledEffective Java, Programming Language Guide(Pearson Education Inc, Addison-Wesley) which states in 57 items rules to good Java programming.Rumors say that the inventors of Java where inspired by some ideas of early Objective-C a 阅读全文
posted @ 2012-04-19 15:22 Hibernate4 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 采用静态或者全局变量的实现方案由于C++不能保证静态或者全局对象的构造函数的调用顺序以及析构顺序。所以如果程序中有多个用此方法实现的Singleton类,它们之间又有某种构造依赖关系和析构依赖关系,就会造成灾难性的后果。所以,只有当肯定不会有构造和析构依赖关系的情况下,这种实现才是合适的。>优点实现简单,多线程下安全>缺点如果有多个Singleton对象的创建顺序有依赖时,千万别用;不是lazy loading,有些浪费。Meyers Singleton来控制构造顺序,但是不能控制析构顺序Scott Meyer在<<Effective C++>>3rd It 阅读全文
posted @ 2012-04-19 15:20 Hibernate4 阅读(210) 评论(0) 推荐(0) 编辑
摘要: NSXMLParser 实现的是sax方法解析xml文件。dom实现的原理是把整个xml文档一次性读出,放在一个树型结构里。在需要的时候,查找特定节点,然后对节点进行读或写。他的主要优势是实现简单,读写平衡;缺点是比较占内存,因为他要把整个xml文档都读入内存,文件越大,这种缺点就越明显。sax的实现方法和dom不同。他只在xml文档中查找特定条件的内容,并且只提取需要的内容。这样做占用内存小,灵活,正好满足我们的需求。他的缺点就是写,有些资料介绍了写入的方法,但是我感觉这对本例没有必要。运行NSXMLParser涉及设置、运行和响应结果。1)启动NSXMLParser要使用NSXMLPars 阅读全文
posted @ 2012-04-19 11:02 Hibernate4 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。所以学习多线程编程最重要的不是学习API,而是理解什么才是多线程安全的代码从例子说起#include<windows.h>#include<process.h>longglobal1=0;volatilelongglobal2=0;classMyClass{public: MyClass() : m(0) {++m; }intfun(intv) {returnm+v;//-----------9 }voidset(intv) { m=v;//----- 阅读全文
posted @ 2012-04-19 00:36 Hibernate4 阅读(3647) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <vector> #include <bitset> #include <assert.h> #include <Windows.h> #include <process.h> using namespace std; class CSingleton { private: class CAssistForSingleton { private: CRITICAL_SECTION m_cs; public: CAssistForSingleton() ... 阅读全文
posted @ 2012-04-19 00:25 Hibernate4 阅读(264) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 60 下一页

导航