Java面试整理(一)2021.5

 

一、Spring

IOC:控制反转,把创建对象权交给Spring来管理
AOP:面向切面编程(解决的是系统层面的问题,如事物,日志,权限等)

IOC的XML开发:

1.引入.xsd的约束文件

2.<bean id="" class=""/>
bean的作用域:singleton propertype request session application
autowired自动装配:byName byType
3.注入方式 构造器注入 setter注入 p空间属性名称注入
AOP的XML开发:
1.引入.xsd的约束文件
2.<bean id="" class=""/>
<AOP:configuration/> <AOP:Aspect/> <AOP:pointcut/>
5个通知:<AOP:before/> <AOP:after/> <aop:after_returning/> <aop-throw/> <aop:arrounding/>

二、SpringMVC

1.用户发送请求到前端控制器
2.前端控制器委托请求处理到页面控制器
3.页面控制器调用业务模型到模型
4.模型返回数据模型到页面控制器
5.页面控制器返回MODELANDVIEW到前端控制器
6.前端控制器渲染视图到视图
7.视图返回控制到前端控制器
8.前端控制器产生响应给用户

 

 

 

三、Mybatis 是一个ORM半自动对象关系映射框架,它是对JDBC的封装

XML开发:1.全局配置文件 2.映射文件
1.引入.dtd约束文件
2.<environment/>
3.<transaction JDBC/> 数据库事务
4.<DataSource/> 数据源
5.4个基本信息 数据库驱动 URL user name
6.注册映射文件 <mappers/> <mapper/> <insert/> <delete/> <select/> <update/>
 
#{}进行预编译处理,会进行数据类型匹配,会把sql语句替换成占位符?,防止sql注入,提高系统安全性
${}不会进行数据类型匹配,是拼接字符串
 

四、抽象类和接口的区别

相同点:两者都不能被实例化,两者都可以有抽象方法
不同点:接口不能有静态变量代码块
接口不能有成员方法
接口不能有构造方法,    抽象类可以有

五、StringBuffer和StringBuilder的区别

相同点:两者都是可更改字符串,String是不可更改字符串
 
StringBuffer:线程安全,方法都是由sychronized修饰
StringBuilder:线程不安全,性能大于StringBuffer
 

六、JDBC模板

1.加载驱动 class.forName(com.mysql.jdbc.driver)
2.创建连接 Connection c=DriverManagement.getconnection(url,user,password)
3.执行SQL语句 Statement s=c.createstatement() string sql=""
4.返回处理结果 Result r=s.executeQuery(sql)
5.释放资源 c.close()

 

七、集合

两个接口
collection:list(有序的,可重复) ArrayList linklist vector
set(无序的,不可重复) hashset treeset
map:hashmap:线程不安全,效率高,键可为null,并且只能有一个
treemap:线程安全的,键不能为null
键值对的形式:键不能重复,值可以重复

八、I/O流

按流向分可分为:输入流和输出流
按数据类型分可分为字符流和字节流,以stream结尾的是字节流,以read/writer结尾的是字符流
字节流可以读取任意类型的文件,字符流只能读取文本文件

九、jsp九大内置对象

request reponse application pagecontext out page config seeion exception
 

十、数据库语法

select
distinct 去重
from表名
where 条件
group by 分组
having  过滤
order by   排序
limit a,b b  或 offset a(a是偏移量,b是分单位)
 
drop:删除整个表结构
truncate:清空表所有数据
delete:删除谋一行数据
 
 
 
posted @ 2022-02-27 10:44  开航母的李大  阅读(28)  评论(0)    收藏  举报