1、什么是反射机制?说说反射机制的优缺点、应用场景?
反射机制:Java的反射机制是在运行状态,对于任意一个类,都能够动态的获得这个类的属性和方法;对于一个对象,都能动态的调用它当中的方法和属性。用于获取一个类的类变量,构造函数,方法,修饰符。
优点:
- 可以动态的创建和使用对象(也是框架底层核心),使用灵活,没有反射机制,框架技术就失去底层支撑
缺点:
- 使用反射基本是解释执行,对执行速度有影响
- 破坏了Java的封装性,让私有变量可以被外部访问到,降低了类的安全性。
应用场景
- 动态代理:运行时加载需要的类,如果运行时不用该类,即使不存在该类,则不报错,降低了依赖性
- 使用JDBC连接数据库时使用class.forName()通过反射加载数据库的驱动程序
- Spring框架的IOC(动态加载管理Bean)创建对象以及AOP功能都和反射有联系
2、 常用的状态响应码
https://blog.csdn.net/qq_56098191/article/details/129137693
3、数据库索引是什么,有什么作用,什么场景适合使用索引?
数据库索引:索引是在数据表字段上添加的,提高查询效率,一个字段可以添加一个索引,多个字段联合起来也可以添加索引
索引的优点:
- 加快检索表中数据:默认是进行全表查询,查找到匹配的结果就加入结果集,若是这个字段有索引,则会先去索引列表中一次定位到行数,大大减少了匹配的次数,从而提高查询的效率。
适合使用索引的场景:
- 经常在where条件中作为查询条件的字段可以建立索引;
- 外键关联列可以建立索引;
- order by排序后面的字段可以建立索引;
- group by分组后的字段可以建立索引;
不适合使用索引的场景:
- 经常增、删、改的字段不适合建立索引,每次执行,索引需重新建立;
- 数据过滤性很差的字段不适合建立索引,如性别字段;
- 当表数据量过少的时候不太适合建立索引,因为索引占用存储空间;