Java开发中常用的一些框架有关的面试题

1、spring的理解

答:spring是一家伟大的公司,其下有很多非常优秀的spring系列产品
(1)spring是轻量级框架,(2)spring是集成框架,像ssm,ssh,shiro都集成了spring,更像是一个粘合剂
(3)spring有控制反转和面向切面编程 (4)spring对事务的管理非常自动

2、请你简单阐述一下IOC ,AOP

答:IOC: java对象创建是Java代码,后面交给了spring,将这种权力的交接称为控制反转;
打个比方:如果用jsp的servlet登陆,你要new dao,new biz等,你每登陆一次,就都要调用这些new的方法
,如果交给了spring的 bean 进行管理,会减少new对象对内存空间的占用,IOC底层就是单例模式,性能好,代码只写一次,多人进行调用。
AOP: 面向切面编程,对于aop的两个优点是对于事务和日志,我们先来说事务;
平时我们如果对某一客户进行增删改操作,需要自己手写开启或关闭事务代码,那Aop对于事务的优点好处在,可以自动管理事务,因为Aop的底层 是过滤器,——> 再往下走就是(前置,后置这类的)通知 ——> 代理(动态,静态),动态代理就会自动检测增删改操作,并且自动开启事务,提交事务
再说日志:日志其实方便权限中的操作记录,运用到的是过滤器,切面

3、struts2和springmvc的区别

答:(1)struts2侵入性,springmvc的非侵入性;(侵入性是指你用某一方法你必须要继承它,非侵入性则为之相反)
(2)struts2配置多,springmvc配置少
(3)核心处理:struts2的(struts prepare and execute Filter)是过滤器
springmvc (dispathServlet) 是servlet

4、mybatis 和hibernate的区别

答:两者都是orm框架
(1)mybatis是半自动化的,sql写在xml里,便于管理, 解除sql与程序代码的耦合,同时可以防止SQL注入。
(2)hibernate是全自动的,sql很多都是自动生成的,无法直接维护sql,写sql的灵活度上hibernate不及mybatis。
(3)hibernate开发性能高,但是性能差(运行慢),
mybatis 由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。

5、hibernate的对象三种状态

答:Transien 临时态(又叫新建):对象刚new出来,还没有被保存到数据库中
Persistent 持久态(又叫托管):已经被保存到数据库中
Detached 游离态(又叫脱管):数据库中有,但是session中不存在该对象
如何把临时转换成持久:session.save(对象变量)
如何把持久变成游离: session.clear() /.close() /.remove;(调用session.clear()方法,这个时候就会将session的缓存对象清空)

6、一级缓存Session和二级缓存SessionFactory

答:一级缓存是指Session
二级缓存 sessionFactory是用来生产session的;(1)开启二级缓存,(2)开启对象是否开启seesion

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值