在上一篇文章Levenshtein distance算法实现中,笔者已经讲解了一般最小编辑距离的算法。该算法采用动态规划,时间复杂度是O(m*n),m,n分别为两个字符串的长度,而空间复杂度也是O(m*n),如果使用int作为矩阵元素的类型,则矩阵的占用空间大小为sizeof(int)*m*n,假如两个字符串的长度均为10000个字符,则矩阵大小为400MB,相当可观。参考一个快速、高效的Leve...
分类:
其他好文 时间:
2014-08-20 12:38:02
阅读次数:
187
在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程...
分类:
移动开发 时间:
2014-08-20 12:27:32
阅读次数:
309
一、boot sector 与 super block的关系: 1、boot sector用于存放引导装载程序,占用1024个字节。 2、super block的大小也为1024字节。 3、若block大小为1k,则boot sector和super block各占一个block。 4、若b...
分类:
系统相关 时间:
2014-08-19 23:48:45
阅读次数:
224
背景:请事假在外中,听平台组同事反馈了一个问题,在往生产数据库中导入部分数据时会造成客户端的访问超时,初步定位是因为服务器磁盘占用IO过高,导数据时IO会飙升到100%,因此引起了不少数据库的慢查询操作导致客户端响应超时,无奈只好暂时停止了导入数据的脚本,同时也延..
分类:
其他好文 时间:
2014-08-19 19:17:35
阅读次数:
241
背景:请事假在外中,听平台组同事反馈了一个问题,在往生产数据库中导入部分数据时会造成客户端的访问超时,初步定位是因为服务器磁盘占用IO过高,导数据时IO会飙升到100%,因此引起了不少数据库的慢查询操作导致客户端响应超时,无奈只好暂时停止了导入数据的脚本,同时也延误了针对这部分数据的生产测试工作。于是我第二天回到公司就投入了对这个问题的跟踪定位工作。
环境描述:
操作系统
...
分类:
其他好文 时间:
2014-08-19 19:08:15
阅读次数:
302
今天生产环境有台机器的硬盘满了,排查发现我的模块在/tmp/android-username目录下留了一堆形如“emulator-1tpH5l”的文件,占用了很大的空间。这个模块会反复启停好几个安卓模拟器,每次启动就会创建一个临时文件,看上去像是system.img的一个复制,然后模拟器停掉之后,临...
分类:
移动开发 时间:
2014-08-19 18:55:05
阅读次数:
240
我们操作数据库大量数据时,可能会出现死锁现象。所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使...
分类:
数据库 时间:
2014-08-19 18:53:35
阅读次数:
276
1、nginx相对于apache的优点:? 轻量级,同样起web?服务,比apache 占用更少的内存及资源? 抗并发,nginx?处理请求是异步非阻塞的,而apache?则是阻塞型的,在高并发下nginx?能保持低资源低消耗高性能? ap...
分类:
其他好文 时间:
2014-08-19 16:57:15
阅读次数:
166
在erlang查看占用内存最多的进程,可以用etop,在终端输入下面语句:spawn(fun()->etop:start([{output,text},{interval,1},{lines,20},{sort,memory}])end).但etop有时会启动不起来,循环是系统比较繁忙的时候,这时可以用下面的方法:%%查找最大内存的进程
find_max_memory_..
分类:
其他好文 时间:
2014-08-19 16:54:25
阅读次数:
191
在C/C++中,需要程序员手动地回收分配的内存,否则一直被占用,这就会带来一些问题,当程序员忘记回收无用内存或者错误回收程序核心类库的内存,都会导致程序的崩溃。在java中不必程序员关心内存回收,当没有对象引用的对象所占用的内存(注意不是对象本身)时,java视其为垃圾..
分类:
其他好文 时间:
2014-08-19 16:46:35
阅读次数:
202