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) 编辑

导航