负载均衡算法(一致性Hash算法,通俗易懂)
一、普通hash算法普通hash算法最大的特点是散列,说白了就是将一些具有相同特征的数据打散成完全不同,随机,均匀分配的数据看这个例子将abc和abcd进行md5运算,得到如下结果可以看出,两个及其相似的字符串进行md5后生成了两个完全不同的字符串,负载均衡正是利用这一特性,对于大量随机的请求或调用,通过一定形式的Hash将他们均匀的散列,从而实现压力的平均化。(当然,并不是只要使用了Has...
一、普通hash算法普通hash算法最大的特点是散列,说白了就是将一些具有相同特征的数据打散成完全不同,随机,均匀分配的数据看这个例子将abc和abcd进行md5运算,得到如下结果可以看出,两个及其相似的字符串进行md5后生成了两个完全不同的字符串,负载均衡正是利用这一特性,对于大量随机的请求或调用,通过一定形式的Hash将他们均匀的散列,从而实现压力的平均化。(当然,并不是只要使用了Has...
一、HashMap继承体系public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {HashMap继承AbstractMap抽象类,实现了Cloneable和Serializble接口二、Node节点以及底层存储结...
单例?一个类只有一个对象实例,并对外提供一个获取实例的方法。一句话就能概括单例这个设计模式,真的只有这么简单吗?单例模式分为两种方案,饿汉式和懒汉式一、饿汉式私有的构造方法只要当类加载的时候就初始化单例对象public class Hungry { private static Hungry hungry = new Hungry(); private Hungry(){ ...
一、POIApache POI 官网:POIPOI功能结构:HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoint格式档案的功能。HDGF - 提供读写Microsoft ...
下面我们来修改Idea内存大小,亲测有效首先、在 Settings -> Appearance & Behavior 设置窗口中,勾选 Show memory indicator 选项,然后主界面右下角会显示 Heap 总大小以及使用状况了。然后主界面右下角会显示 Heap 总大小以及使用状况了。Next:-Xms: 最小堆内存-Xmx: 最大堆内存-XX:ReservedCodeCa...
一、序列化的含义,使用意义,使用场景序列化:将对象写入到IO流中反序列化:从IO流中恢复对象意义:序列化机制允许将实现序列化的Java对象转换位字节序列,这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。使用场景:所有可在网络上传输的对象都必须是可序列化的,传入的参数或返回的对象都是可序列化的,否则会出错;所有需要保存到...
一、UUID简介UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境 领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。二、UUID组成当前日期和时间...
如何遍历给定文件目录下的所有文件,以及该目录下的所有子目录的文件废话不多说,上代码import java.io.File; /** * 显示指定文件夹内容 * @author 16003 * */ public class TestFile { public static void main(String[] args) { //遍历该目录下的所有文件 ...
重定向与请求转发请求转发将本次请求从当前页面转发到另一页面进行处理。1、属于转发,也是服务器跳转,相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,前后页共用一个request,可以通过此来传递一些数据或者session信息,request.setAttribute()和request.getAttribute()。2、在前后两次执行后,地...
何为流?JDK8给我们提供了一新概念---Stream流 流遵守了“做什么而非做什么的原则”,在流的示例中,我们描述了需要做什么:获取长单词,并对他们计数**。流表面上看起来和集合很相似,都可以让我们转换获取数据。但是,他们之间存在显著的差异:1、流并不存储其元素。2、流的操作不会修改数据源,例如,filter方法不会改变原来的元素,而是会生成一个新的Stream流3、流的操作是尽可能惰性执...