目录
1、接口和抽象类有什么区别?
接口实现用implements,抽象类继承用extends。一个类可以实现多个接口,但只能继承一个抽象类。
接口只有定义,不能有方法的实现,,而抽象类可以有定义与实现,方法可在抽象类中实现。
2、多线程实现的方式有几种
4种
继承Thread类、实现Runnable接口、 实现Callable接口、线程池
3、mysql多表联查关键字
left join、right join、union连接 、inner连接
4、mysql引擎有哪些?
存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的。所以存储引擎也可被称为表类型。
InnoDB 、MyISAM 、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎是非事务安全表。
5、重写和重载的区别
重写是子类覆盖父类方法,方法名和参数列表返回类型一样,实现体不一样,
重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数
6、spring框架Ioc作用和aop作用
Spring的IOC负责管理各种对象的创建,清除以及它们之间的联系。
Aop面向切面编程,AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。
7、mybatis#号和$分别有什么作用,区别
# 用于变量替换.可以防止sql注入
$ 实质上是字符串拼接
8、mybatis返回类型有哪种
resultMap:结果集
resultType:int,string ,long ,class
9、springboot关键注解
@Configuration 这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。
@ComponentScan 这是 Spring 3.1 添加的一个注解,用来代替配置文件中的 component-scan
配置,开启组件扫描,即自动扫描包路径下的 @Component
注解进行注册 bean 实例到 context 中。
@EnableAutoConfiguration 用来提供自动配置,上面的两个都是 spring-context
包下的,不属于 Spring Boot,所以 Spring 3.0 之后的去 XML 配置方式已经为 Spring Boot 埋下了伏笔!
10、springboot事件监听
事件监听机制可以理解为是一种观察者模式,有数据发布者(事件源)和数据接受者(监听器);
springboot事件监听的流程:
- 自定义事件,一般是继承ApplicationEvent抽象类。
- 定义事件监听器,一般是实现ApplicationListener接口。
- 配置监听器,启动的时候,需要把监听器加入到spring容器中。
- 发布事件。