加载中
LRU算法 java实现

LRU算法介绍 LRU算法全称Least Recently Used,也就是检查最近最少使用的数据的算法。这个算法通常使用在内存淘汰策略中,用于将不常用的数据转移出内存,将空间腾给最近更常用的“热点数据”...

05/30 12:37
54
HashMap 1.7 源码

前言 今天来介绍下HashMap,之前的List,讲了ArrayList、LinkedList,就前两者而言,反映的是两种思想: ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢 LinkedList以链表形式实...

05/24 15:40
33
HashMap 1.8 源码

hashMap 在JDK8与之前的版本实现上的不同点 hashMap 在 JDK8 之前的实现为:数组 + 链表 构造方法: 在初始化 loadFactor、threshold 之后,会指向初始化操作,创建一个长度为capacity 的 En...

05/24 15:40
43
Redis 面试题

是否使用过Redis集群,集群的原理是什么? Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。 Redis Cluster着眼于扩展性,在单个redis内存不足时,使用...

短链接系统的设计

什么是短链接 就是把普通网址,转换成比较短的网址。比如:http://t.cn/RlB2PdD 这种,在微博这些限制字数的应用里。好处不言而喻。短、字符少、美观、便于发布、传播。 百度短网址 http://d...

05/21 17:02
139
maven 常用命令

mvn clean //清除目标目录中的生成结果 mvn compile //编译源代码 mvn test //运行应用程序中的单元测试 mvn package //依据项目生成 jar 文件 mvn install //在本地 Repository 中安装 jar ...

在IDEA中启动Spring项目

在IDEA中启动Spring项目 1.在pom.xml中添加: <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> ......

handler、Interceptor、resolver的区别

解析器在预处理请求时并没有真正发挥作用。拦截器在处理程序之前触发。 Interceptor 拦截器: HandlerInterceptor Spring 的处理程序映射机制具有处理程序拦截器的概念,当您要对某些请求应用...

Redis的线程模型

文件事件处理器 Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。因为文件事件...

04/05 11:48
9
栈上分配和TLAB

栈上分配 JVM允许将线程私有的对象打散分配在栈上,而不是分配在堆上。分配在栈上的好处是可以在函数调用结束后自行销毁,而不需要垃圾回收器的介入,从而提高系统性能。 栈上分配的一个技术...

04/05 11:12
154
负载均衡

什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种...

04/02 11:16
47
dubbo负载均衡策略与实现

在集群负载均衡时,Dubbo提供了4种均衡策略,如: Random LoadBalance(随机均衡算法); RoundRobin LoadBalance(权重轮循均衡算法); LeastActive LoadBalance(最少活跃调用数均衡算法); Cons...

多线程之间共享哪些资源

同一进程间的线程究竟共享哪些资源呢,而又各自独享哪些资源呢? 共享的资源有: a. 堆 由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平台上...

03/30 22:30
28
Java线程的6种状态

Java线程的6种状态 初始态:NEW 创建一个Thread对象,但还未调用start()启动线程时,线程处于初始态。 运行态:RUNNABLE 在Java中,运行态包括 (ready) 就绪态 和 (running) 运行态。 就...

03/30 22:22
67
wait 与 sleep 的区别

1、两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。 wait,notif...

03/30 21:28
31
redis 渐进式哈希

为什么要有渐进式哈希 我们知道当hash表满员时(或负载因子高于阈值时)会进行rehash,也就是重新调整空间大小,并拷贝原来的数据。 这里rehash就是优化效率的关键。 例如假设有1w个元素,reh...

03/30 21:15
134
synchronized原理

锁的内存语义 synchronized的底层是使用操作系统的mutex lock实现的。 内存可见性:同步快的可见性是由“如果对一个变量执行lock操作,将会清空工作内存中此变量的值,在执行引擎使用这个变量...

03/29 20:03
35
Volatile关键字

Java的volatile关键字用于标记一个变量“应当存储在主存”。更确切地说,每次读取volatile变量,都应该从主存读取,而不是从CPU缓存读取。每次写入一个volatile变量,应该写到主存中,而不是...

03/29 18:04
42
深入浅出一致性Hash原理

一、前言 在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务器固定处理一部分请求(并维护这些请求的信息),起到负载均衡的作用。...

03/28 19:42
30
一致性Hash算法

一致性哈希(hash)算法 一、算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。...

03/28 19:39
37

没有更多内容

加载失败,请刷新页面

返回顶部
顶部