摘要: self points to the class in which it is written. So, if your getInstance method is in a class name MyClass, the following line : self::$_instance = new self(); Will do the same as : self::$_instance = new MyClass(); Edit : a couple more informations,after the comments. If you have two classes that e 阅读全文
posted @ 2013-12-31 15:16 doop-ymc 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取... 阅读全文
posted @ 2013-12-13 18:54 doop-ymc 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1 "设置快捷以使用xshell的复制 2 let g_copy_mode = 0 3 function! CopyToggle() 4 if g:g_copy_mode == 0 5 let g:g_copy_mode = 1 6 set mouse=c 7 set nonu 8 else 9 let g:g_copy_mode = 0 10 set mouse=a11 set nu12 endif13 endfunction14 15 nmap :call Co... 阅读全文
posted @ 2013-12-12 10:58 doop-ymc 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 上图引用自何处忘记了,不好意思。 基础快捷键 normal模式下 快速查找 fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。 t, → 到逗号前的第一个字符。逗号可以变成其它字符。 3fa → 在当前行查找第三个出现的a。 F 和 T → 和 f 和 t 一样,只不过是相反方向。 区域选择 a 或 i"]... 阅读全文
posted @ 2013-12-03 21:25 doop-ymc 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5.注销那些不用的变量尤其是大数组,以便释放内存。 6.尽量避免使用__get,__set,__autoload。 7.require_once()代价昂贵。 8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。 9.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)... 阅读全文
posted @ 2013-11-27 21:29 doop-ymc 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1 介绍这部分终于整理完了,太耗时间了,留下来备忘吧!之前看STL源码时,只是研究了红黑树的插入部分。在stl源码剖析的书中,也没有涉及到删除操作的分析,这次对删除操作也进行了详细的研究,并且还是这次学习的重点。下面开始。红黑树需要遵从下面的5条性质:(1)节点要么是红色要么是黑色;(2)根节点为黑... 阅读全文
posted @ 2013-11-24 18:21 doop-ymc 阅读(3193) 评论(0) 推荐(0) 编辑
摘要: 刚好看到nginx设置进程title的源码,因此做一些总结。 linux进程实际是以argv[0]处的值来作为进程的title的,因此若需要修改进程的title只需要修改argv[0]处的值即可。简单的方法就是直接将想要设置的title复制给argv[0]即可,如下示: 1: #include 2: #include 3: #include 4: #include 5: 6: extern char** environ; 7: 8: int main(int argc, char* argv[]) 9: { 10: char s_tit... 阅读全文
posted @ 2013-11-19 20:34 doop-ymc 阅读(1541) 评论(0) 推荐(0) 编辑
摘要: 最近nginx的源码刚好研究到内存池,这儿就看下nginx内存池的相关的东西。一,为什么要使用内存池 大多数的解释不外乎提升程序的处理性能及减小内存中的碎片,对于性能优化这点主要体现在: (1)系统的malloc/free等内存申请函数涉及到较多的处理,如申请时合适空间的查找,释放时的空间合并。 (2)默认的内存管理函数还会考虑多线程的应用,加锁操作会增加开销。 (3)每次申请内存的系统态与用户态的切换也及为的消耗性能。 对于由于应用的频繁的在堆上分配及释放空间所带来的内存碎片化,其实主流的思想是认为存在的,不过也有人认为这种考虑其实是多余的,在“内存池到底为... 阅读全文
posted @ 2013-11-11 21:11 doop-ymc 阅读(1525) 评论(0) 推荐(0) 编辑
摘要: 本来这一篇作为nginx系列的开头是不合适的,不过由于nginx进程框架自己的梳理还没完成,这部分又刚好整理完了,就从这开始吧。这儿谈的是nginx的slab的内存管理方式,这种方式的内存管理在nginx中,主要是与nginx的共享内存协同使用的。nginx的slab管理与linux的slab管理相同的地方在于均是利用了内存的缓存与对齐机制,slab内存管理中一些设计相当巧妙的地方,也有一些地方个人感觉设计不是很完美,或许是作为nginx设计综合考虑的结果。nginx slab实现中的一大特色就是大量的位操作,这部分操作很多是与slot分级数组相关的。为方便描述下面做一些说明:1.将整个sla 阅读全文
posted @ 2013-11-07 15:29 doop-ymc 阅读(5830) 评论(0) 推荐(0) 编辑
摘要: 最近知识梳理不够,那就整理点以前blog的东西。这儿就看COW(copy-on-write),cow技术主要是为了提高程序在单步操作时的系统响应速度而设计的,它通过将不是立即必要的空间分配,数据复制等耗时操作分摊到后续的某个步骤中,以部分提升性能。但这种瞬时的性能提升,通常是以部分牺牲总体性能为代价的。1. copy-on-write的优点 (1)cow能够减少单步操作时由于分配空间及数据复制带来的瞬间延迟 (2)cow能够在一定程度上启动空间优化的作用2. copy-on-write的应用 (1)cow在g++ std:string中的使用 对于string的... 阅读全文
posted @ 2013-11-02 17:37 doop-ymc 阅读(715) 评论(0) 推荐(0) 编辑