亲身体检java面试题总结


智联,boss,拉勾这个三个软件个人推荐还是boss好使

一.谈谈hibernate 与 mybatis的区别

    1.mybatis开发社区没有hibernate开发社区活跃
    2.mybatis的移植性没有hibernate好
    3.mybatis的二次缓存机制没有hibernate的二次缓存机制效果好,在出现脏读
    4.hql语句需要查询所有的数据,而sql语句可以根据自己不必查询出所有的字段 
    5.mybatis相对与hibernate易于掌握
相同点
    1.都是orm架构系统,都是轻量级的
    2.都支持jdbc和jta事物
    3.都是通过sessionfactoryBuild配置的xml文件生成sessionfactory,然后有sessionfactory生成session,
最后又session来加载事物和sql语句
问题扩展
数据库的事物
   脏读         读未提交
   不可重复读   在一个事物中多次查询的结果不同

   幻读         多个事物对一个对象进行操作,一个事物影响了另一个事物

二.谈谈对sql 优化

   1.在大量数据下避免全表扫描,使用索引
   2.where 后面条件按过滤量排序
   3.使用exist代替in
   4.不要写select * 的语句,选择你所需的字段
   5.多表联查请使用别名,并把别名前缀到每列上面
   6.in,exists的相关自查询可以改为连接查询
   7.临时表
     临时表
        会话级临时表 各个不同的session中临时表数据不共享,session结束清除临时表数据
        事务集临时表 不管事务是否commit,rollback都会将临时表中的数据清除
    临时表缺点
        不支持lob对象,不支持主外键关系
    解决方式
        1.以创建常规表的形式创建临时表,将主键设为sessionid<nummber>
        2.写一个用户注销触发器,在用户会话结束的时候删除本次会话的所有数据
    临时表优点
        临时表 顾名思义 存储临时数据
        有两中特性 会话的临时 事物的临时
    8.索引
      索引分类:
        唯一索引,单行索引,多行索引,函数索引,域索引
      索引的优点
        加快查询效率
      索引缺点
        添加,删除,修改操作耗时增长


   5.java实例化的五种方式
     1.new
     2.工厂方法
     3.反射手段Class.forName("class").newInstance()
     4.通过i/o流
     5.调用对象的Clone()方法
   6.spring 生命周期
     1.bean 的配置
     2.bean 的实例化   反射技术
     3.bean 调用
       有三种方式实现bean的调用
       1.beanfactory
       2.applicationContext
       3.beanwrapper  wrapper 报装器   
     4.bean 的销毁        

               微信扫一扫关注公众号
           
 
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值