JAVA面试小题

来源:互联网 发布:日本人的审美标准知乎 编辑:程序博客网 时间:2024/06/05 04:55
* 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 0
原创粉丝点击