黑马程序员技术交流社区

标题: 企业面试的java问题 [打印本页]

作者: 蔡爽    时间: 2014-7-29 15:05
标题: 企业面试的java问题
Lucene全文检索
全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程
* Session何时刷出缓存
1)事务提交时----tx.commit();
2)Query查询时---query.list();
3)手动调用session.flush();
* 操作缓存相关方法
1)flush:刷出缓存,使用缓存中的数据更新数据库中的数据
2)clear:清空session中的所有数据
3)evict:清除指定对象在一级缓存中的引用
4)refresh:使用数据库中的数据覆盖缓存中的数据
看完了Spring是什么,再来看看Spring有哪些优点
         1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑
         2.可以提供众多服务,事务管理,WS等。
         3.AOP的很好支持,方便面向切面编程。
         4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等
         5.Spring DI机制降低了业务对象替换的复杂性。
         6.Spring属于低侵入,代码污染极低。
         7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或完全。
连接分为三种:内连接、外连接、交叉。外连接分为左外连接和右外连接。
get/load:
         当查询对象时,如果没有存在的记录
                   get方法返回null
                   load方法抛出异常:ObjectNotFoundException
get不支持延迟加载
* 解决丢失更新问题
1)悲观锁:使用数据库底层锁机制,锁定操作的数据,防止并发发生
2)乐观锁:在持久化类中添加版本字段,当事务提交时,比较提交的版本是否和数据库中的版本字段一致,如果不一致,抛出异常阻止修改
作者: 心ヤ0°一下    时间: 2014-7-29 15:51
赞一下~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2