自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除