有一道流传广泛的面试题:给你一台 4G 内存的机器,一组 20 亿个无序正整数,如何快速地判断一个正整数 N 是否在这组数字中?或者如何快速地对这组数据排重后排序?让我们先算...
有一道流传广泛的面试题:给你一台 4G 内存的机器,一组 20 亿个无序正整数,如何快速地判断一个正整数 N 是否在这组数字中?或者如何快速地对这组数据排重后排序?让我们先算...
在分布式系统中,有一些场景需要使用全局唯一 ID ,可以和业务场景有关,比如支付流水号,也可以和业务场景无关,比如分库分表后需要有一个全局唯一 ID,或者用作事务版本号、分布...
并非引战贴,就是希望 [培训班 && 非科班] 出身的程序员伙伴,不要狂妄自大,也不要妄自菲薄,扎扎实实修炼编程功力,会得到回报的;培训可以带你入门,但是请不要把培训当做捷径...
JAVA中的内存溢出和内存泄露分别是什么,有什么联系和区别,让我们来看一看。 内存泄漏 & 内存溢出 1. 内存泄漏(memory leak ) 申请了内存用完了不释放,比如...
缓存击穿和缓存雪崩的区别在于:雪崩针对很多 key,而击穿只针对于某一个热点 key。 设置缓存永不过期,这个方法虽然很暴力,但是确实能解决大部分的问题,当然,大部分场景也不...
如果问到 == 和 equals 的区别,相信很多程序员同学都能脱口而出:一个是判断地址,一个是判断内容。但是如果继续追问:“你重写过 equals 么?”,“重写 equa...
先让我们看一个问题:如果要存一组有序的 int 型数据集合,我们可以如何实现? 数组 可能大多数同学最先想到的是用数据实现,将有序的数据集合存放在数据中,可以使用二分法进行查...
先举个例子,说明为什么要做“限流”。 旅游景点通常都会有最大的接待量,不可能无限制的放游客进入,比如故宫每天只卖八万张票,超过八万的游客,无法买票进入,因为如果超过八万人,景...
如果是 IT 老鸟,对于中间件、数据库中间件这些名词一定都不陌生,但是如果是程序员新人,如果你向他解释:“中间件就是和业务无关的技术组件”;有些新人可能依然会比较懵,啥是组件...
大部分的企业级应用从本质上看,都是在做增删查改,但是有些公司的业务复杂而专业,有些公司应用的在线用户很多,你做的增删查改和别人做的增删查改,可能会有极大的区别,举个例子: 你...
关于 Redis 的使用,大家应该已经不陌生了,我也介绍过 Redis 的使用、数据结构、使用场景分析,既然 Redis 这个强大,那么架构中引入了 Redis 之后,是不是...
Redis 的数据架构,可以参考下图: Redis中的所有 value 都是以 Object 的形式存在的,其通用结构如下: type:指类型,String、Hash、Lis...
简单来说,Redis 就是一个数据库。不同于传统数据库将数据保存在磁盘中,Redis 将数据存在内存中,所以它也经常被叫做内存数据库;同时 Redis 存储也被叫做 NoS...
数据分片 ✔︎ 先让我们看一个例子吧 我们经常会用 Redis 做缓存,把一些数据放在上面,以减少数据的压力。 当数据量少,访问压力不大的时候,通常一台Redis就能搞定,为...
分布式架构下的 Session 共享,也称作分布式 Session 一致性;分布式架构下 Session 共享有哪些问题,又有哪些解决方案,让我们一起看一下。 Session...
JVM 运行时数据区域大致可以分为:程序计数器、虚拟机栈、本地方法栈、堆区、元空间、运行时常量池、直接内存等区域;就是下面这个样子的: 其中有些区域,随着 JDK 版本的升级...
关于 Java 字符串 String 有一道很基础的面试题,相信很多人都遇到过,就是 String s = "a" 和 String s = new String("a") ...