- 博客(8)
- 收藏
- 关注
原创 MemCached的内存管理机制
MemCached使用了有优化的内存管理方式,使得对象的内存分配效率有很大程度上的提高。 1.传统的内存管理方式的缺点传统的内存分配使用mallocate方法向OS申请内存,内存不再使用时,使用free方法,释放内存给OS。这种方式简单,但是有以下缺点:1.频繁的跟OS打交道,增加了OS的工作2.容易产生内存碎片。当内存不再使用free内存给操作系统,当分配的对象很...
2010-05-29 23:21:12 113
原创 MemCached的分布式算法
在MemCached的基础里面,我们讲到MemCached是一个重要特征是它是利用客户端的计算来达到分布式效果的。1.Cache的分类根据缓存与应用的耦合程度将其划分为local cache和remote cache(来自于ahuaxuan的分类方式)。 local cache表示缓存的数据和应用程序在同一个JVM内,remote cache表示缓存数据在远程server上...
2010-05-20 22:39:28 171
原创 在linux下安装MemCached
MemCached是采用libevent来进行网络连接的并发处理,能够保持高并发情况下,依然能够保持快速的响应能力。 因此安装要分两部分: 1.安装libevent Step 1:下载http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gzStep 2:[root@ls-dev01 local]#...
2010-05-20 15:56:14 59
原创 Twitter学习-MemCached基础篇
Twitter大量使用Memcached,MQ也是基于Memcached 协议的,Memcached并不是新鲜的东西,但是由于它强大的影响力,有必要深入一下,这篇主要讲它的基础: 1.Memcached是什么?Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据 库驱动网...
2010-05-18 16:37:46 103
Log4j引起的Performance bottleneck
log4j在Java开发中非常广泛,在企业级应用中,有大量的日志需要记载,我们有一个系统每天记录的日志达到16G,是个庞大的数字。 我们在开发过程中发现类似下列的代码: public class TTTT extends HttpServlet{ private static final Log log = LogFactory.getLog(TTTT.class);...
2010-05-14 14:39:19 91
原创 Pushlet的第一个实例-聊天室
笔者为了体验Pushlet的原理,做了一个聊天室程序,聊天功能对于每个user来说有两个基本功能: 1.发布聊天记录对于Pushlet来说,是把这个聊天记录clone放到每个subscriber对应的EventQueue中使用Pushlet提供的publish函数,来完成功能 2.接收别人新的聊天记录线程轮询EventQueue,取出数据update browser客户...
2010-05-13 22:18:44 94
原创 Pushlet的工作原理
在介绍comet的基本理论之后,pushlet是comet的一种实现,它主要利用Servlet容器(Tomcat和Jetty)在Servlet没有运行完毕(线程一直没有运行完毕),server不会主动关闭连接,这给web的进行长连接由server push data 到client端提供了基本的理论依据。 注:本文在修改之前说的Com是利用keep-alive功能,server不会主动关闭...
2010-05-06 22:20:28 233
HashMap的非线程安全例子
HashMap在多线程访问时存在线程安全问题,举例如下,此例是用HashMap来记录Meeting的状态: 线程一在12:12:10put一个meetingKey, meetingStatus(123859963,InProgress)线程二在12:12:11put一个meetingKey,(123859963,Close) 如果没有锁,则线程1和线程二能够同时put,如果线程...
2010-05-06 16:37:59 303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人