- 浏览: 726724 次
- 性别:
- 来自: 重庆
最新评论
-
xinglianxlxl:
对我有用,非常感谢
xstream初步使用 -
liangbo11:
eclipse都无法启动
JDK扩展DCEVM让WEB程序完全不重启调试 -
Love_wh1314:
果然是这个问题。。。维护别人的代码,开始还以为自己改错了,结 ...
JQuery 实践问题 - toLowerCase 错误 -
tonyyan:
谢谢分享!
MAVEN Scope使用 -
908311595:
多谢楼主分享
xstream初步使用
文章列表
没有独立的文字说明,因为是边回忆,边写,边查经典,所以所有的文字说明都在代码中。呵呵
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服务器安装
第三部分: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.根据伪代码的结构语言定义对象和服务结构,然后生成各语言 ...