摘要: http://www.cnblogs.com/xzpp/archive/2011/10/10/2206619.html1. core dump和heap dump文件core dump保存cpu,jvm相关的信息,主要保存的是java应用各线程在某一时刻的运行的位置,即执行到哪一个类的哪一个方法哪一个行上。javacore是一个文本文件,打开后可以看到每一个线程的执行栈,以stacktrace的方式显示。通过对javacore的分析可以得到应用是否“卡”在某一点上,即在某一点运行的时间太长,如数据库查询,长期得不到响应,最终导致系统崩溃。heap dump保存java程序内存使用情况。heap 阅读全文
posted @ 2011-12-21 14:14 balaamwe 阅读(4603) 评论(0) 推荐(0) 编辑
摘要: http://www.360doc.com/content/11/1024/22/1671317_158816062.shtmlGCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字3。为什么会出现undefined 阅读全文
posted @ 2011-12-13 18:36 balaamwe 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 转载自jackywdx最终编辑jackywdx转载自:http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Linux&ID=14696&pos=11一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如:> cc -g hello.c -o hello> g++ -g hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运行时的内 阅读全文
posted @ 2011-12-13 15:38 balaamwe 阅读(1468) 评论(0) 推荐(0) 编辑
摘要: http://hi.baidu.com/joysoftfan/blog/item/e6deaae459d7ae3ab9382035.html刘连春 关于memcached使用的两个坑2011-03-03 13:11关于slab之间无法共享内存:Memcached里的数据是按不同的size放在不同的slab里,每个slab有一个自己的LRU链表, slab占用内存的方式是只进不出,假设memcached内存上限为1000M,我存入1000M 100k大小的数据,过期时间都是1秒, 1秒后尝试set一条500k的数据就会失败,虽然前期的100k数据都是过期的,也没有办法将其它slab的内存“借”过 阅读全文
posted @ 2011-12-13 13:45 balaamwe 阅读(661) 评论(0) 推荐(0) 编辑
摘要: http://teamojiao.iteye.com/blog/456851最近在做一个内部测试工具类的优化工作中接触到了连接池, 对象池技术, 将原有的未使用连接池的数据库访问操作改成连接池方式.性能有了非常大的提升, 事实证明, 经过两次改造, 原来一个比较大的测试类需要500多秒, 第一次优化后只需要300多秒, 第二次改用连接池之后同一个测试类只需要80多秒.下面是改造过程中的一些总结.对象池就是以”空间换时间”的 一种常用缓存机制, 这里的”时间”特指创建时间,因此这也给出了对象池的适用范围:如果一种对象的创建过程非常耗时的话, 那么请使用对象池. 内部原理简单的说, 就是将创建的对 阅读全文
posted @ 2011-12-13 13:39 balaamwe 阅读(471) 评论(0) 推荐(0) 编辑
摘要: http://teamojiao.iteye.com/blog/456866什么是Future?用过Java并发包的朋友或许对Future (interface)已经比较熟悉了,其实Future本身是一种被广泛运用的并发设计模式,可在很大程度上简化需要数据流同步的并发应用开发。在一些领域语言(如Alice ML)中甚至直接于语法层面支持Future。这里就以java.util.concurrent.Future为 例简单说一下Future的具体工作方式。Future对象本身可以看作是一个显式的引用,一个对异步处理结果的引用。由于其异步性质,在创建之初,它所 引用的对象可能还并不可用(比如尚在运 阅读全文
posted @ 2011-12-13 13:37 balaamwe 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 转载自heyuejuan最终编辑heyuejuan/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。/dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分 阅读全文
posted @ 2011-12-13 13:28 balaamwe 阅读(651) 评论(0) 推荐(1) 编辑
摘要: http://hi.baidu.com/rodimus/blog/item/c5455c389b168323b8998f18.html前面讨论的都是在源串里寻找单一的串。如果要同时寻找同个串的话,可以每个串都用一次单串的算法。这是可行的,只是效率上比较低。可以对前面的单串算法作适当的扩展,使它直接适应多串的情况。对于Shift-And算法,可以直接把几个串拼成一个串,当然前题是这些串的长度和小于等于计算机的字长。然后对初始状态作一下修改,对结束时判断是否成功作一下修改。就可以了。代码如下:(未测试)Multiple_Shift_And(char * s, int n, char ** p, i 阅读全文
posted @ 2011-12-12 17:27 balaamwe 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 转自http://happyiww.popo.blog.163.com/blog/static/922448320078682017946/Memcached 结构分析 Memcached是一个分布式的内存缓存库,正好自己想写个cache的模块,那么就偷偷师吧。 功能库看的是实现原理和思路,性能库看的是实现细节,memcahed是属于一个看性能的库(实现cache功能的模块很多,但是性能就有高低了)1、memcached的数据交互协议 memcached是分布式的内存缓存服务器,它是通过socket(tcp/udp/unixsock)与其他程序交换数据的,这样就需要一套协议来保证正常通信。 . 阅读全文
posted @ 2011-12-11 23:55 balaamwe 阅读(1569) 评论(0) 推荐(0) 编辑
摘要: 转自http://www.cnblogs.com/kucongzhi/archive/2011/10/27/2226947.htmlMemcached内存管理源码阅读memcache能进行快速地查找和良好的内存管理,得益于良好的hash查找和内存管理技巧.这两项功能主要由assoc.c和slab.c这两个文件来实现. 下面详细地分析一下每行代码实现slab.c#define POWER_SMALLEST 1 //slabclass数组的最小下标(slabclass 主要是来保存分配好的内存)#define POWER_LARGEST 200 //slabclass... 阅读全文
posted @ 2011-12-11 22:29 balaamwe 阅读(365) 评论(0) 推荐(0) 编辑