lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 289万 阅读

随笔分类 -  corejava-基础

上一页 1 ··· 5 6 7 8 9 10 下一页

摘要:一致性hash算法是分布式中一个常用且好用的分片算法、或者数据库分库分表算法。现在的互联网服务架构中,为避免单点故障、提升处理效率、横向扩展等原因,分布式系统已经成为了居家旅行必备的部署模式,所以也产出了几种数据分片的方法: 1.取模,2.划段,3.一致性hash 前两种有很大的一个问题就是需要固定 阅读全文
posted @ 2019-02-26 18:19 白露~ 阅读(1851) 评论(0) 推荐(0) 编辑

摘要:一直性Hash算法在很多场景下都有应用,尤其是在分布式缓存系统中,经常用其来进行缓存的访问的负载均衡,比如:redis等<k,v>非关系数据库作为缓存系统。我们首先来看一下采用取模方式进行缓存的问题。 一致性Hash算法的使用场景 假设我们的将10台redis部署为我们的缓存系统,存储<k,v>数据 阅读全文
posted @ 2019-02-26 18:05 白露~ 阅读(224) 评论(0) 推荐(0) 编辑

摘要:知识点总结 hash的定义:Hash一般翻译为散列,哈希是指一个过程,这个过程就是把任意长度的输入,通过哈希算法,变换成固定长度的输出,所输出的称为哈希值。这种变换是一种压缩映射,也即哈希值所占的空间一般来说远小于输入值的空间,不同的输入可能会哈希出相同的输出(概率很小)。 hash值的作用:数据的 阅读全文
posted @ 2019-02-26 15:25 白露~ 阅读(1816) 评论(0) 推荐(1) 编辑

摘要:相等 和 Hash Code 从一般角度来看,Equality 是不错的,但是 hash code 更则具技巧性。如果我们在 hash code上多下点功夫,我们就能了解到 hash code 就是用在细微处去提升性能的。 大部分的数据结构使用equals去检查是否他们包含一个元素。例如: List 阅读全文
posted @ 2019-02-26 15:15 白露~ 阅读(578) 评论(0) 推荐(0) 编辑

摘要:目录介绍1.Hash的作用介绍1.1 Hash的定义1.2 Hash函数特性1.3 Hash的使用场景2.如何判断两个对象相等2.1 判断两个字符串2.2 判断两个int数值2.3 其他基本类型3.HashCode深入分析3.0 HashCode是什么3.1 为什么要重写HashCode3.2 Ha 阅读全文
posted @ 2019-02-26 14:58 白露~ 阅读(1968) 评论(0) 推荐(0) 编辑

摘要:自定义注解: 使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其他细节。在定义注解时,不能继承其他的注解或接口。@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的 阅读全文
posted @ 2018-12-27 15:21 白露~ 阅读(701) 评论(0) 推荐(0) 编辑

摘要:今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 im 阅读全文
posted @ 2018-12-26 23:13 白露~ 阅读(2434) 评论(0) 推荐(1) 编辑

摘要:一:针对list 通过java.util.Collections的sort方法,有2个参数,第一个参数是list对象,第二个参数是new Comparator<对象类>(){}方法,这个方法实现了compare()方法,具体代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 阅读全文
posted @ 2018-11-06 22:19 白露~ 阅读(2286) 评论(0) 推荐(0) 编辑

摘要:对List去重并保证添加顺序主要有三种方式: 方式一,利用HashSet不能添加重复数据的特性 由于HashSet不能保证添加顺序,所以只能作为判断条件: private static void removeDuplicate(List<String> list) { HashSet<String> 阅读全文
posted @ 2018-10-24 19:23 白露~ 阅读(2254) 评论(0) 推荐(0) 编辑

摘要:相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理 线程池是可以控制线程创建、释放, 阅读全文
posted @ 2018-09-13 10:58 白露~ 阅读(220) 评论(0) 推荐(0) 编辑

摘要:1 阅读全文
posted @ 2018-09-13 10:58 白露~ 阅读(205) 评论(0) 推荐(0) 编辑

摘要:1 阅读全文
posted @ 2018-09-13 10:58 白露~ 阅读(291) 评论(0) 推荐(0) 编辑

摘要:一、源码分析(基于JDK1.6) ThreadExecutorPool是使用最多的线程池组件,了解它的原始资料最好是从从设计者(Doug Lea)的口中知道它的来龙去脉。在Jdk1.6中,ThreadPoolExecutor直接继承了AbstractExecutorService,并层级实现了Exe 阅读全文
posted @ 2018-09-13 10:56 白露~ 阅读(378) 评论(0) 推荐(0) 编辑

摘要:JDK提供的四种线程池 一、线程池什么时候用,有什么好处? “线程池”顾名思义,就是存放线程的池子,这个池子可以存放多少线程取决于采用哪种线程池,取决于有多少并发线程,有多少计算机的硬件资源。使用线程池最直接的好处就是:线程可以重复利用、减少创建和销毁线程所带来的系统资源的开销,提升性能(节省线程创 阅读全文
posted @ 2018-09-13 09:06 白露~ 阅读(444) 评论(0) 推荐(0) 编辑

摘要:1.什么是resize: resize就是重新计算容量;当我们不断的向HashMap对象里不停的添加元素时,HashMap对象内部的数组就会出现无法装载更多的元素,这是对象就需要扩大数组的长度,以便能装入更多的元素;当然Java里的数组是无法自动扩容的,方法是使用一个新的数组代替已有的容量小的数组; 阅读全文
posted @ 2018-09-12 11:10 白露~ 阅读(3114) 评论(0) 推荐(0) 编辑

摘要:ArrayList 概述 动态扩容 一 初始化 首先有三种方式来初始化: 默认的构造器,将会以默认的大小来初始化内部的数组 用一个ICollection对象来构造,并将该集合的元素添加到ArrayList 用指定的大小来初始化内部的数组 后两种方式都可以理解,通过创造对象,或指定大小来初始化内部数据 阅读全文
posted @ 2018-09-12 11:07 白露~ 阅读(2296) 评论(0) 推荐(1) 编辑

摘要:作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。 Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码 使用new关键字 } → 调用了构造函数 使用Class类的newInstan 阅读全文
posted @ 2018-09-12 10:59 白露~ 阅读(1147) 评论(0) 推荐(0) 编辑

摘要:1 阅读全文
posted @ 2018-09-12 10:44 白露~ 阅读(259) 评论(0) 推荐(0) 编辑

摘要:代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的索引,实际执行时通过调用代理类的方法、实际执行的是被代理类的方法。 而AOP,是通过动态代理实现的。 一、简单来说: JDK动态代理只能对实现了接口的类生成代理,而不能针对类 CGLIB是针对类实现代理,主要是对指定的类生 阅读全文
posted @ 2018-08-29 21:06 白露~ 阅读(1362) 评论(0) 推荐(0) 编辑

该文被密码保护。
posted @ 2018-08-29 09:45 白露~ 阅读(1) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 下一页
点击右上角即可分享
微信分享提示