
算法
stoneson
专注于.net,php,java,python,nodejs,.NET Core开发专注于Flex,Silverlight,AS3,Objective-C,Android,HTML5等移动开发技术
展开
-
socket 通信 Windos 和 Linux之间 Big endian 和 little endian的转换策略
<br />Big endian 和 little endian<br />本次测试仅仅一32Bits的Intel X86系统和Moto Power PC系统TCP/IP socket connection联调作为讨论内容。<br />结论如下:<br />传输某一结构体。<br />#pragma pack(4) <br />typedef struct{<br />char name[6];<br />int age;<br />char sex;<br />short tel;<br />}s原创 2010-12-01 01:10:00 · 900 阅读 · 0 评论 -
Memcached的LRU算法
题外话最近计划对Memcached做一些尝试性的改造,主要是针对Memcached在处理过期数据的时候进行改造,以实现在一个缓存的过期时间达到的时候,可以对该缓存的数据进行一个验证和存储的处理。这个需求,主要是为了解决MySQL的写入瓶颈,通过延期、合并写入请求来减少MySQL的并发写入量。现在逐渐记录出来和有需要的朋友一起讨论。当然,今天的主要内容是关于LRU的部分。LRU算法L转载 2012-11-07 14:45:24 · 989 阅读 · 0 评论 -
如何设计一个LRU Cache?
如何设计一个LRU Cache?Google和百度的面试题都出现了设计一个Cache的题目,什么是Cache,如何设计简单的Cache,通过搜集资料,本文给出个总结。 通常的问题描述可以是这样:Question:[1] Design a layer in front of a system which cache the last n requests and the respon原创 2012-11-07 11:45:12 · 908 阅读 · 0 评论 -
Socket粘包问题
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用原创 2012-08-03 10:24:41 · 1281 阅读 · 1 评论 -
C#图片上传,加水印,自动生成缩略图源代码
using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI;转载 2012-08-06 16:22:22 · 777 阅读 · 0 评论 -
一致性hash算法 - consistent hashin
一致性hash算法(consistenthashing)<br />张亮<br />consistent hashing算法早在1997年就在论文Consistenthashing and random trees中被提出,目前在cache系统中应用越来越广泛;1基本场景<br />比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;<br />转载 2010-11-22 18:38:00 · 546 阅读 · 0 评论 -
一致性Hash算法(KetamaHash)的c#实现
<br />最近在研究"一致性HASH算法"(Consistent Hashing),用于解决memcached集群中当服务器出现增减变动时对散列值的影响。后来 在JAVAEYE上的一篇文章中,找到了其中的 KetamaHash 算法的JAVA实现(一种基于虚拟结点的HASH算法),于是为了加深理解,对照 JAVA版本,用C#重写了一个。放到这里,如果大家感兴趣的话, 可以下载测试一下,如果发现写法有问题请及时告之我,以便我及时修正。 下面是对Ketama的介绍: Ketama原创 2010-11-23 15:17:00 · 596 阅读 · 0 评论 -
KMP 算法真的很简单
KMP算法真的很简单<br />KMP是字符串匹配的经典算法,曾经一度对其敬而远之,感觉很难写出来正确的KMP算法,这都是拜那些“教科书”所赐,在它们的教授下,不禁感觉KMP很难!<br />其实理解KMP算法很简单,今天就来看个究竟,我的目标就是从几个简单的数学等式推导出KMP算法,简单但严谨。串匹配<br />先来回忆一下串匹配场景,不外乎是给定两个字符串S和T,然后在S串中查找T串,如果查找成功就是匹配,否则就是不匹配。比如:<br />S = “avantar-titanic”; T = “avan转载 2010-11-22 17:51:00 · 630 阅读 · 0 评论 -
关于计算机中Endian(big-edian和little-endian)存储机制的由来、特点和区别
<br />有人问起Endian是什么,告诉他就是计算机中是“大尾”还是“小尾”, Little-Endian,就是我们在学习汇编时候的高高低低原则,而Bit-Endian就是刚刚相反,Little-Endian主要用在我们现在的PC的CPU中,Big-Endian则应用在目前的Mac机器中(注意:是指Power系列 处理器)……费了一些口舌,依旧一幅茫然的样子……于是放弃,Google了一下,找到下面这篇论文,原先作者已经无从考究了,那位知道的话还请麻烦告知。说起来Endian除了在一些底层内核模块中,一原创 2010-12-01 00:22:00 · 1072 阅读 · 0 评论 -
理解 Memcache 的服务器端与客户端
理解 Memcache 的服务器端与客户端By kuco |Published: 2011/07/11什么是 memcache ?什么是 memcached ?什么是 memcache.so ?什么是 memcached.so ?什么是 libmemcached.so ?什么是 libmemcache ?什么是 libmemcached ?如果刚刚才接触转载 2012-11-08 09:41:38 · 1285 阅读 · 0 评论