- 军军小站|张军博客
搜索到与相关的文章
编程技术

一致性hash算法 - consistent hashing

consistenthashing算法早在1997年就在论文Consistenthashingandrandomtrees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;hash(object)%N一切都运行正常,再考虑如下的两种情况;1一个ca

系统 2019-08-29 21:58:40 3003

数据库相关

利用unordered_map代替hash_map - My Study

利用unordered_map代替hash_map-MyStudy利用unordered_map代替hash_map实验环境操作系统fedora9编译器版本gcc4.3实验方式各种map使用插入和查找,比较速度和相关性能代码参考代码下面测试说明了速度之间的比较:map类型插入速度插入和查找速度hashmap0m0.123s0m0.369smap0m0.190s0m0.681sunordered_map0m0.123s0m0.315s为什么要使用unorde

系统 2019-08-12 01:54:38 3003

编程技术

uml类图

这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了;以下就分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Jav

系统 2019-08-29 23:36:30 3002

编程技术

压缩原理初探

这里讨论的仅仅是简单的字符压缩算法,对于更高级的文件压缩便是无能为力了。总步骤分为六步:第一、统计全文中各种字符出现的次数;第二、根据每个字符出现不同的次数富裕权值并由此建立哈弗曼树;第三、根据哈夫曼树来对全文中每个字符进行哈弗曼编码;第四、将每个字符的哈弗曼编码连续写入,每8位截断,并计算出这8个0,1字节串所对应的字符并以字符串的形式存储编码后的字符;第五、将最后的不足8位的位数补足并记录补位的个数写入到文件中第六、将此哈弗曼树存储到文件末尾例:将aa

系统 2019-08-29 23:05:00 3002

编程技术

git 使用详解

考虑到CVS的一些局限性,最近和同事在公司推行Git。其实,如果推行SVN的化,可能推行的难度会降低很多。不过lark说既然推行一个新的版本管理工具,总要花费一定的时间进行培训、部署、转换。而推行Git和SVN的代价不如想象中差距那么大。因此,不如就多花些精力推行Git,可以带来更多的好处。这个想法说服了我。然后就开始筹备了。我发现网上很多git教程对一些基础命令(比如git-reset)的介绍还是不够清楚。另外,介绍git1.5的少,介绍git1.4的多

系统 2019-08-29 22:36:48 3002

编程技术

J2SDK 1.5、1.6 & 中文版API(全)

J2SDK1.5、1.6&中文版API(全)Sun公司提供的JavaAPIDocs是学习和使用Java语言中最经常使用的参考资料之一。但是长期以来此文档只有英文版,对于中国地区的Java开发者来说相当的不便。目前Sun公司正在组织多方力量将此文档翻译成中文,并于2005年10月31日在Sun中国技术社区(http://gceclub.sun.com.cn/)正式发布第一批中文版JavaAPI文档(包括java.lang和java.util类库API文档的中

系统 2019-08-12 09:30:21 3002

编程技术

分享一个VIM的JS代码格式化插件

转载:http://bellstar.iteye.com/blog/544933VIM是我最爱的编辑器,我是JS程序员,程序长了格式化就麻烦,尝试过VIM的各种JS的INDENET插件,都不如意,有时只好为了美化打开NB,APTANA来格式化代码.今天终于发现这个称得上完美的格式化插件,除了调试后台程序外可以不用再开那些内存消耗大户了.VIM插件地址在线格式化地址绑定到F4键Vimrc代码nnoremap:callg:Jsbeautify()

系统 2019-08-12 09:30:18 3002

MySql

使用MySQL命令行修改密码

mysql安装后默认密码是空的。格式:mysqladmin-u用户名-p旧密码password新密码1、给root加个密码ab12。首先在DOS下进入目录mysql\bin(自己安装的mysql文件夹得里面的bin目录),然后键入以下命令mysqladmin-urootpasswordab12注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。2、再将root的密码改为djg345。mysqladmin-uroot-pab12passwordd

系统 2019-08-12 01:53:25 3002

Python

python基础一(认识python及基础知识)

前言:这个博客的就是笔者用来作总结的,只会写出一些必要的东西,所以并不适合一个初学者看一、python是什么Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。(这里不懂的话可以先记下来,等学习到一定程度再回来看)二、python基础2.1注释:看以下一个程序的运行(未使用注释)看以下一个程序的运行(使用注释)总结:以#号

系统 2019-09-27 17:57:35 3001

PHP

php 位运算

原理在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执行”,分别用1、2和4来表示,它们之间可以任意组合:有“可读”、“可写”权限就用3来表示(1+2=3);有”可读“、”可执行“权限就用5来表示(1+4=5),三种权限全部拥有就用7表示(1+2+4=7)。实际上,这种运算是基于二进制的。假设可执行、可写、可读三种权限分别对应三个状态位,如果用户具有某种权限,那么将对应的状态位标识为“1”,反之则标识为“0”。如图

系统 2019-08-29 23:26:09 3001