StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作...
分类:
其他好文 时间:
2015-12-03 14:03:38
阅读次数:
143
道生一,一生二,二生万象.OO的思想就是抽象,万象归宗,化繁为简.99%的程序员使用OO,或者所谓的类库的目的就是好用,不必了解内部实现就可以直接达到所期望的结果.这时一种生产力的进步,一种流水线式半零件式的生产流程.程序员只是最后再流水线上拼接起来上个螺丝的工人而已(严格说来是码农).C++就是抽...
分类:
编程语言 时间:
2015-12-02 20:45:23
阅读次数:
157
查询的生命周期的下一步是将一个sql转化成一个执行计划,MySQL再依照这个执行计划和存储引擎进行交互。这包括多个子阶段:解析sql,预处理,优化sql执行计划。这个过程中任何错误(例如语法错误)都可能终止查询。这里不打算详细介绍MySQL内部实现,而只是选择性的介绍其中几个独立的部分,在实际中.....
分类:
数据库 时间:
2015-12-02 00:59:40
阅读次数:
239
Dispatch Queue Dispatch Queue 对于我们开发者来说应该是非常熟悉了,运用的场景非常之多,但是他的内部是如何实现的呢?用于管理追加的Block的C语言层实现的FIFO队列Atomic函数中实现的用于排他控制的轻量级信号用于管理线程的C语言层实现的一些容器 不难想象,GC.....
分类:
其他好文 时间:
2015-12-02 00:57:56
阅读次数:
716
C++程序员编码过程中经常会使用string(wstring)类,你是否思考过它的内部实现细节。比如这个类的迭代器是如何实现的?对象占多少字节的内存空间?内部有没有虚函数?内存是如何分配的?构造和析构的成本有多大?笔者综合这两天阅读的源代码及个人理解简要介绍之,错误的地方望读者指出。首先看看stri...
分类:
编程语言 时间:
2015-11-30 07:16:25
阅读次数:
259
dynamic_cast是一个操作符,其用法不再赘述。查看汇编码可以发现实际调用的是这个函数__RTDynamicCast,其内部实现如下:rtti.h:[cpp]view plaincopy#pragmaonceextern"C"{#include};typedefconsttype_infoTy...
分类:
编程语言 时间:
2015-11-30 07:14:35
阅读次数:
734
1.迪米特法则 类之间的联系越少越好,2.外观模式 添加一个新的类,包含子类,实现不同的组合,降低与外界的耦合,对旧代码的更新可以适用。3.建造者模式 和外观模式有些类似吧,实现子类的各种不同的组合,也就是在内部实现接口调用顺序,而在外界只需调用具体的接口。4.观察者模式 一个类A是观察者类...
分类:
其他好文 时间:
2015-11-27 21:55:40
阅读次数:
242
指针值为空。它不指向任何的对象或者函数。由系统保证空指针不指向任何实际的对象或者函数。 反过来说,任何对象或者函数的地址都不可能是空指针。X* a = NULL/0/'\0'/ (void *)0空指针(null pointer)指向了内存的什么地方即空指针的内部实现? 标准并没有对空指针指向内存....
分类:
其他好文 时间:
2015-11-26 01:05:44
阅读次数:
194
Logback Log4j的创始人Ceki Gülcü重写了Log4j的内部实现,改进后形成了Logback,相比Log4j速度更快,资源占用更少,也更稳定。(另外Log4j 2.0又是在Logback基础上进行了改进,但还未广泛使用)官方网站:http://logback.qos.ch/Logb....
分类:
其他好文 时间:
2015-11-22 23:25:30
阅读次数:
6842
String与StringBuffer的区别简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成...
分类:
其他好文 时间:
2015-11-22 17:22:53
阅读次数:
93