近期一直在准备面试,所以为了巩固知识,也为了梳理,整理了一些java的基础面试题!同时也希望各位英雄和女侠能够补充!不胜荣幸!!!
名称 | 地址 |
---|---|
Java面试题【必知必会】基础(2024) | Go-Go-Go |
Java面试题【必知必会】常见基础题(2024) | Go-Go-Go |
Java面试题【必知必会】MySQL常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Spring常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Mybatis常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】SpringMVC常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】SpringBoot常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】SpringCloud常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Redis常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Linux常用命令面试题(2024) | Go-Go-Go |
1.MySQL的索引为什么使用B+Tree这种数据结构?
- 我们先来看一下B+Tree数据结构的样子
- 可以看到,它的根节点和支节点不保存数据区,只是保存了一些键,因此一次读取的话,就可以读取到更多的键,这样就可以快速的缩小查找范围。
- 可以看到B+树的叶节点由一条链相连,因此,当需要进行一次全数据遍历的时候。只需要找到最小的节点,然后通过链进行顺序遍历即可获取。
- 具体的话可以结合别的树来进行对比理解可以参考这篇文章,
也可以参考这个
2.什么是索引?索引的优缺点?
- 简单的理解,索引就相当于目录。为了方便查找书中的内容,我们通常可以去查看目录看看要找的内容在哪页或者哪个区域页里。然后就可以快速的查找到我们想要的内容。
- 官方理解:索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树
- 索引的优缺点:
- 优点:
可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能 - 缺点:
时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,会降低增/改/删的执行效率
空间方面:索引需要占物理空间