面试题30天打卡-day06

1、什么是反射机制?说说反射机制的优缺点、应用场景?

反射机制:Java的反射机制是在运行状态,对于任意一个类,都能够动态的获得这个类的属性和方法;对于一个对象,都能动态的调用它当中的方法和属性。用于获取一个类的类变量,构造函数,方法,修饰符。

优点:

  • 可以动态的创建和使用对象(也是框架底层核心),使用灵活,没有反射机制,框架技术就失去底层支撑

缺点:

  1. 使用反射基本是解释执行,对执行速度有影响
  2. 破坏了Java的封装性,让私有变量可以被外部访问到,降低了类的安全性。

应用场景

  1. 动态代理:运行时加载需要的类,如果运行时不用该类,即使不存在该类,则不报错,降低了依赖性
  2. 使用JDBC连接数据库时使用class.forName()通过反射加载数据库的驱动程序
  3. Spring框架的IOC(动态加载管理Bean)创建对象以及AOP功能都和反射有联系

2、 常用的状态响应码

https://blog.csdn.net/qq_56098191/article/details/129137693

3、数据库索引是什么,有什么作用,什么场景适合使用索引?

数据库索引:索引是在数据表字段上添加的,提高查询效率,一个字段可以添加一个索引,多个字段联合起来也可以添加索引

索引的优点:

  1. 加快检索表中数据:默认是进行全表查询,查找到匹配的结果就加入结果集,若是这个字段有索引,则会先去索引列表中一次定位到行数,大大减少了匹配的次数,从而提高查询的效率。

适合使用索引的场景:

  1. 经常在where条件中作为查询条件的字段可以建立索引;
  2. 外键关联列可以建立索引;
  3. order by排序后面的字段可以建立索引;
  4. group by分组后的字段可以建立索引;

不适合使用索引的场景:

  1. 经常增、删、改的字段不适合建立索引,每次执行,索引需重新建立;
  2. 数据过滤性很差的字段不适合建立索引,如性别字段;
  3. 当表数据量过少的时候不太适合建立索引,因为索引占用存储空间;

你可能感兴趣的:(#,面试题,java,数据库,开发语言)