`
文章列表
没有独立的文字说明,因为是边回忆,边写,边查经典,所以所有的文字说明都在代码中。呵呵   package org.acooly.datastructure.sort; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.math.RandomUtils; /** * 排序算法回顾和学习 <br> * <li>先回忆下算法,然后根据普通逻辑思维,写my排序算法()。 * <li>翻开经典《JAVA数据结构和算法第二部》,学习经典排序算法 ...
今天周末,无聊,回顾下数据结构,然后按对冒泡的理解随便写了个冒泡排序,通了!~,翻开经典:《JAVA数据结构和算法第二版》,看看经典是怎么写的。嗯,经典的思路是要好些,虽然比较次数一样,但是循环次数少很多,运行了下,啊!?怎么排序不对!?   如下我的代码:   package org.acooly.datastructure.sort; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.math.RandomUtils; public abstract class So ...
公司很多项目都会使用缓存,而且都是在分布式环境中使用,比较全面的了解和选择一个分布式缓存服务是非常重要的。我们选择了业界声誉最好,使用最广泛的memcached。后续计划对memcached进行较为详细的学习,以便工作中能更好的使用。主要是一下几个方面:   第一部分:Memcached基础 第二部分:Memcached服务器安装 第三部分:Memcached协议详解 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用 第四部分:Memcached Java 客户端-gwhalin(2)-性能测试 第四部分: ...
  缓存机制: Slab Allocation   memcached 默认情况下采用了名为 Slab Allocator 的机制分配、管理内存。 Slab Allocator 的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块, 以完全解决内存碎片问题。 slab allocator 还有重复使用已分配的内存的目的。 也就是说,分配到的内存不会释放,而是重复利用。 Slab Allocation 的原理相当简单。 将分配的内存分割成各种尺寸的块( chunk ), 并把尺寸相同的块分成组( chunk 的 ...
  memcached 虽然称为 “ 分布式 ” 缓存服务器,但服务器端并没有 “ 分布式 ” 功能。每个服务器都是完全独立和隔离的服务。 memcached 的分布式,则是完全由客户端程序库实现的。 这种分布式是 memcached 的最大特点。   分布式原理 这里多次使用了 “ 分布式 ” 这个词,但并未做详细解释。 现在开始简单地介绍一下其原理,各个客户端的实现基本相同。   下面假设 memcached 服务器有 node1 ~ node3 三台, 应用程序要保存键名为 “toky ...
  找了很久都找不到官方的APIdoc,木有办法,只有看源代码整理个。 SocketIOPool 主要负责客户端连接池,通讯和定位。2.6.0后的版本是由schooner重新实现的,只是保持了API接口没有改变,新的实现是:com.schooner.MemCached.SchoonerSo ...
  Memcached Java Client 版本差异   公司目前使用的是2.5.1版本的memcached java client.目前官方最新版本是2.6.1,是基于全新的performance分支,由Schooner中国团队开发。 •  王新根,new.root@gmail.com; •  李蒙,jowett.lee@gmail.com,IT eye博客地址是:http://menglee.iteye.com 。 与老版本的相比的重大改善: 1.    较之老版本,在性能上有300%左右的提升; 2.    兼容老版本,用户无须修改自己的源代码; 3.    ...
  Memcached Java Client Spring整合     如果你的项目是使用Spring作为中间件的,那么Spring的整合配置是很有用的。   配置文件 applicationContext-memcachedjavaclient.xml   <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xml ...
Memcached JJAVA Client 性能测试     测试方案 机器环境 我的小本本,thinkPad410,4G内,i5cpu虚拟4核(也就是假4核),64位windows7盗版操作系统,另外还开了很多其它服务和软件,测试前的内存显示已用2.3G,不过还是剩的很多。   软件环境 在本地WINDOWS7下安装了3个memcached服务,分别给了128M,64M,64M内存。测试代码待ECLIPSE下直接运行。如果有好的环境,下次在跑跑看。 测试方法 10线程,每个线程10000次调用,每次分别调用5个业务方法,并且KEY都不同 依次:add,set ...
介绍 Memcached java client是官方推荐的最早的memcached java客户端。最新版本:java_memcached-release_2.6.1。 官方下载地址:https://github.com/gwhalin/Memcached-Java-Client 采用阻塞式SOCKET通讯,据说目前版本进行了很多优化,性能有所提高(只看过1.5的源代码,还没来及看最新的) 提供key方式的连接池,默认连接池key为default。(老版本了)。2.6.1版本支持apache-commoms-pool作为连接池。 支持权重配置。 后期的版本提增加 ...
        Memcached 支持两种主要的协议,经典的 ASCII 文本协议和新的二进制协议。文本协议非常简单,能很方便的编写客户端和调试问题,但是二进制协议提供更强大的功能。   文本协议的 TCP 协议应用比较广泛,本文主要详细介绍 TCP 文本协议。如果想了解 UDP 协议和二进制协议,请参考官方文档。 官方文本协议: http://github.com/memcached/memcached/blob/master/doc/protocol.txt 官方二进制协议: ht ...
  Windows版本安装 windows 上安装 memcached ,我的理解是一般用于应用程序测试和开发阶段。一般在 windows 上直接应用 memcached 的比较少。本次功能介绍和学习先用 windows 吧,毕竟环境容易找到些。   下载二进制版本   windows 版本的服务端程序在官方网站上没有找到,官网只有源代码版本。为了方便,直接在网上 google 到对应的二进制版本下载 . 这里使用 1.4.4wind32 版本 下载地址: http://downloads.northscale.com/memcached-win32-1.4.4-14 ...
       本文是基于网上资料和自己的理解整理的学习笔记,中间涉及的网络资料,我在文档后的参考统一列举。如果我的某些理解有误,望谅解,并希望得到你的回复。   什么是 memcached 在许多高并发的应用中,把业务数据保持久化 ( 保存到数据库,磁盘文件或其它 ) 后,应用从持久化设备中读取数据并在浏览器中显示,随用户量,数据量增大,访问的集中,会出现持久化设备负担过重(典型的就是数据库),影响应用响应速度,应用延迟严重等重大问题。典型的应用就是 WEB 应用中的高并发网站。 这时候应用就需要一种缓存机制来提高并发读取速度的性能 , memcach ...
BTree 特征: 1.一个节点最多只有两个子节点,其中左子节点的关键字小于这个节点,右子节点的关键字大于等于该节点。 2.执行查找,插入,删除的时间复杂度都是:O(logN)。 3.遍历有中序,前序,后序。前,中和后只是在递归的时候先输出左子,自己或右子的顺序。可以通过中排序,按左子,自己,右子的顺序就是升序,反之则是降序。 4.最大值是树的右边底层叶子;最小值是左边底层叶子。   JAVA代码实现:     package org.acooly.datastructure.btree; import java.util.Random; /** * 特征:一 ...
在新的项目中公司在平台内部系统间使用Thrift通讯,都没有听说过。然后听同事说,是跨语言Socket通讯的开源组件。 功能及特点 1.跨平台和语言的Socket通讯组件。 2.根据伪代码的结构语言定义对象和服务结构,然后生成各语言 ...
Global site tag (gtag.js) - Google Analytics