摘要:
Redis串讲 什么是Redis? Redis是一个高性能的非关系型的键值对数据库,使用C编写实现的。与传统的数据库不同的是Redis是存在内存中的,所以读写速度非常快,每秒可以处理超过10万次的读写操作,这也是Redis常常被用作缓存的原因。 Redis的优缺点? 优点: 读写性能好,读的速度可达 阅读全文
摘要:
算法之哈希表 介绍 散列表思想 假设你们班级100个同学每个人的学号是由院系-年级-班级和编号组成,例如学号为01100168表示是1系,10级1班的68号。为了快速查找到68号的成绩信息,可以建立一张表,但是不能用学号作为下标,学号的数值实在太大。因此将学号除以1100100取余,即得到编号作为该 阅读全文
摘要:
Spring连环问 Spring有什么优点吗? 轻量,基本版本大约2MB。 通过控制反转和依赖注入实现松耦合。 支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 通过切面和模板减少样板式代码。 方便集成各种优秀框架。内部提供了对各种优秀框架的直接支持(如:Hibernate、MyBatis等) 阅读全文
摘要:
Redis连环问 Redis为什么这么快呢? 基于内存:Redis是使用内存存储,没有磁盘IO上的开销。数据存在内存中,读写速度快。 单线程实现( Redis 6.0以前):Redis使用单个线程处理请求,避免了多个线程之间线程切换和锁资源争用的开销。 IO多路复用模型:Redis 采用 IO 多路 阅读全文
摘要:
JVM基础连环问 什么是堆吗? 堆用于存放对象实例,是垃圾收集器管理的主要区域,因此也被称作GC堆。堆可以细分为:新生代(Eden空间、From Survivor、To Survivor空间)和老年代。 堆栈的区别? 堆的物理地址分配是不连续的,性能较慢;栈的物理地址分配是连续的,性能相对较快。 堆 阅读全文
摘要:
List连环问 List? List是一个接口,常见的实现类有ArrayList和LinkedList ArrayList和LinkedList的区别? ArrayList的底层数据结构是数组,支持下标访问,查询数据快。默认初始值大小为10,容量不足时会进行扩容 而LinkedList的底层数据结构 阅读全文
摘要:
MySQL索引连环问 什么是索引? 索引类似于书本的目录,是存储引擎用于提高数据库表的访问速度的一种数据结构。 数据是存储在磁盘上的,查询数据时,如果没有索引,会加载所有的数据到内存,依次进行检索,读取磁盘次数较多。 有了索引,就不需要加载所有数据,因为B+树的高度一般在2-4层,最多只需要读取2- 阅读全文