where、if、foreach、choose
2.数据库字段约束主外、非空、唯一unique、默认、检查check
3.多表联查语序select 字段 from 表名 表关联 表名 where 条件 group by 字段 order by 字段
4.SpringMVC组件前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)、控制处理器()、视图解析器(ViewReslover)
5.Aop的原理第一、将复杂的需求分解出不同的方面,将公共功能集中解决 第二、采用代理机制组装起来运行,在不改变原程序的基础上对代码段进行增强处理,增加新的功能 面向切面编程,是一种通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态添加功能的技术
6.常用跨域方式配置文件,注解@CrossOrigin
7.转发和重定向的区别均是后端操作
转发:一次请求,一次响应;地址不改变。
重定向:多次请求,多次响应;地址改变。
8.session和cookie的区别cookie:放在浏览器上,非安全,String类型数据,长期保存在客户端
session:放在服务器上,安全,object类型数据,会话结束随之销毁
9.全局异常处理配置@RestControllerAdvice加在自定义的异常处理类上
10.Spring事务注解,加在哪里,属性@transactional,接口实现类或实现方法上,方法必须是public,rollbackFor,norollbackFor
11.continue和break的区别continue结束本次循环
break跳出循环
12.静态变量和实例变量的区别静态变量随类的加载而加载,且只加载一次,只有一份,使用类名调用;
实例变量根据创建对象的次数,有多少个对象就储存多少份,使用对象名调用。、
13.抽象类和接口的区别相同点:都不能实例化
不同:
抽象类:
用class创建
extends继承,单继承
abstract修饰
有构造器,为了子类调用
接口:
interface创建
implement实现
多继承,多实现
没有构造器
没有成员变量,都是静态常量
重写:方法名相同,参数列表相同;
方法名相同,参数列表相同
返回值类型基本类型,必须相同,否则小于父类
异常类型小于父类
访问权限大于父类
重载:方法名相同,参数列表不同;
参数数量
参数顺序
参数类型
可以,可以。
16.ArrayList和linkedlist的区别数组在内存中是连续存储的,存取速度快。
ArrayList基于动态数组的数据结构,查询和修改性能高
linklist基于链表的数据结构,新增和删除性能高
17.Map,Set,List的区别map:无序键不能重复,双列数据储存
set:无序不能重复,单例数据储存
list:有序允许重复,单列数据储存
String:不可变类,字符串常量,每次操作都会产生新对象
StringBuffer:可变类,字符串变量,操作不会产生新的对象
StringBuffer:多线程安全
StringBuilder:单线程非安全,效率稍快
区别:
字符流是针对于字符操作的,效率更高,继承inputStream、outputStream
字节流可操作的数据更多,继承reader、writer
hashmap实现了map接口,无序,储存键值对
hashset实现了set接口,无序,储存值,内部封装了hashmap,屏蔽了value
可以获取一个类的所有信息,可以获取到任何定义的信息,并且可以操作类的字段、方法、构造器等
22.创建线程有几种不同的方式- 继承Thread类
- 实现Runnable接口,用实现类对象作为参数创建Thread对象
- 使用Executer创建并重用线程



