搜索到与相关的文章
Java

一致性哈希算法与Java实现

一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。因此,引入了一致性哈希算法:把数据用hash函数(如MD5),映射到一个很大的空间里,如图所示。数据的存储时,先得到一个hash

系统 2019-08-29 21:58:41 3266

编程技术

JVM垃圾回收机制总结(7) :调优方法

JVM调优工具Jconsole,jProfile,VisualVMJconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。如何调优观察内存释放情况、集合类检查、对象树上面这些调优工具都提供了强大的功能,但是总的来说一般分为以下几类功能堆信息查看可查看堆空

系统 2019-08-12 09:29:58 3266

redis

redis和memcache的对比

1.Memcached简介Memcached是以LiveJurnal旗下DangaInteractive公司的BardFitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libevent即可使用。在Windows下,它也有一个可用的非官方版本(ht

系统 2019-08-12 09:27:39 3266

数据库相关

利用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 3266

操作系统

自由与共享,对现有版权体系的叛逆

自由与共享,对现有版权体系的叛逆本文成于2001年,是我大学毕业时的论文,关于法律归置的章节遗失,GPL、Apache等版权协议。一、前言:自由与共享精神的复兴自由软件、开放源代码运动、GPL条例--野人与基督,他们是商业软件领域的颠覆者,又是无数程序员心中神圣的信仰。在GPL条例下,用户彼此拷贝软件不但不是“盗版”,而是体现人类天性互助的美德,自由是根本,用户可以自由共享软件成果,随便使用和拷贝代码;同时,GPL条例又驱走了那些魔鬼,他们总是告诫他们的用

系统 2019-08-12 01:33:35 3266

编程技术

构建面向对象的应用软件系统框架

l转自:http://www.lvjiyong.com/books/OODesigner/孙亚民目录第一部分综述4第1章本书会讨论什么内容5第2章系统的分层结构82.1.简述82.2.设计的原则和评判标准92.3.应用服务层的内容102.4.数据实体的表示112.5.数据的存取方式152.6.业务逻辑的处理182.7.业务服务的提供202.8

系统 2019-08-29 22:59:39 3265

编程技术

下载YouTube视频字幕的方法

YouTube跟国内的优酷、土豆等视频网站比起来不仅广告时间短、可以“跳过广告”播放,而且很多视频上提供了字幕,有些视频甚至提供了20多种语言的字幕。因为YouTube在国内是无法访问的,我经常会想着把一些YouTube上的视频下载下来,上传到国内的视频网站上供大家分享,但发现有个问题,YouTube上的字幕和视频是独立的,没有合成到一起,所以,下载下来的视频是不含字幕的。这当然不行的,英语无字幕的视频估计没有几个人会喜欢。那么,如何能把字幕也下载下来呢?

系统 2019-08-12 09:30:10 3265

MySql

mysql分表方法-----MRG_MyISAM引擎分表法

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法。目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解。首先,我们需要想好到底分多少个表,前提当然是满足应用。这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共10个表,其取值也很好做,就是对10进行取模。另外,还可以根据某一字段的md5值取其中几位进行分表,这样的话,可以

系统 2019-08-12 01:55:25 3265

各行各业

JPEG软编解码器介绍

首先介绍几个名词:IJG:IndependentJPEGGroupIJL:IntelJPEGLibraryIPP:IntelIntegratedPerformancePrimitivesIJG提供的JPEG软编解码器是使用最广泛的,可以从官方网站www.ijg.org下载最新版本6b。优点:免费、开源;纯C编写,支持众多硬件平台和操作系统;缺点:速度一般IJL是Intel提供的JPEG软编解码器,2001以前IJL是免费的。你可以编程实现从buffer读取

系统 2019-08-12 01:32:53 3265

C++

C++中的explicit

简而言之:explicit修饰的构造函数不能担任类型转换函数这个《ANSI/ISOC++ProfessionalProgrammer'sHandbook》是这样说的explicitConstructorsAconstructorthattakesasingleargumentis,bydefault,animplicitconversionoperator,whichconvertsitsargumenttoanobjectofitsclass(seeal

系统 2019-08-29 22:33:10 3264