1.什么是索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
索引的数据结构:B+tree
2.怎么优化数据库
索引
优化查询语句
合适的字段
硬件优化
数据库系统文件优化,将数据文件、索引文件、日志文件放置在不同的磁盘上,提高并行度等
分表分库,主从配置)
3.== equls
==操作比较的是两个变量的值是否相等。
equals()方法比较的是两个对象的内容是否一致.equals也就是比较引用类型是否是对同一个对象的引用。
4.事物特性
要么全部做完,要么全部不做,事务由两种状态,一个提交一个回滚。
事务由四个特性ACID,原子性、一致性、隔离性和永远性。
5.红黑树 为什么效率快
红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。
红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。当然,还有一些更好的,但实现起来更复杂的数据结构 能够做到一步旋转之内达到平衡,但红黑树能够给我们一个比较“便宜”的解决方案。红黑树的算法时间复杂度和AVL相同,但统计性能比AVL树更高。
红黑树的查询性能略微逊色于AVL树,因为他比avl树会稍微不平衡最多一层,也就是说红黑树的查询性能只比相同内容的avl树最多多一次比较,但是,红黑树在插入和删除上完爆avl树,avl树每次插入删除会进行大量的平衡度计算,而红黑树为了维持红黑性质所做的红黑变换和旋转的开销,相较于avl树为了维持平衡的开销要小得多
6.filter怎么实现的
Filter也称之为过滤器
ServletAPI中提供了一个Filter接口,Filter接口中有一个doFilter方法
生命周期:init,doFilter,destroy
7.数组去重
ArrayList
indexOf判断
双重for循环
HashSet(不重复的)
8.springboot 你的理解
springboot一个应用是一个可执行jar(启动类main方法启动web应用),而不像传统的war,内嵌tomcat容器,可以jar形式启动一个服务,可以快速部署发布web服务,微服务最好不过了。将原有的xml配置,简化为java配置
封装了各种经常使用的套件,比如mybatis、hibernate、redis、mongodb等。
dispatcherservlet怎么实现的
mq 为什么选activemq 如果推送失败怎么解决
什么事锁
显示锁 隐示锁区别
然后就是推送失败怎么处理
还有反复请求怎么过
mongodb elasticsearch 区别
什么是链表 怎么实现 为什么他快 什么时候用arraylist 什么时候用linkedList
spring中事务怎么处理的
索引优化
查询优化
spring security流程
原子编程
mycat怎么配置
aop 动态原理 静态原理 和应用