通过运用hibernate Interceptor(拦截器) 发现,在改变一个持久对象以后,hibernate 就会进行脏数据检测.这时执行 Interceptor 的findDirty()方法.在执行select 时也会执行session.flush(),也叫同步内存(自己理解),这时就调用Interceptor的onFlushDirty()方法,(同步数据库对象,但没有保存,直到执行Transaction.commit() ) .
session.flush() 在执行select ,Transaction.commit() 时执行.
1、Iterator可以删除元素,而Enumeration不能;
2、Vertor可以线程同步,安全,但效率较低,而ArrayList不同步,效率高,使用ArrayList创建一个大小固定的List,运行比其他的list要快;
3、List是一个能包含重复元素的已排序的Collection,有时也称序列。和数组一样,都基于0开始的。
List接口是由Arraylist类,LinkedList类和Vector类实现的;.
Collections类是用来操纵List的,有reverse,fill,copy,max,min,binarySearch等等方法.
4、Set是没有重复元素的,集合框架含有set的两种实现:HashSet和TreeSet。
HashSet把它的元素存储在哈希表中,TreeSet把它的元素存储在树中。可以使用HashSet从ArrayList删除重复
5、Map把键和值联系起来,不包含重复的键(每一个键只能映射到一个值,即是一对一的关系,这称为一对一关系)。Map和Set的不同之处在于Map包含键和值,而Set只包含键。HaspMap 类和TreeMap类实现了Map接口. HashMap把它的元素存储在哈希表中,TreeMap把它的元素存储在树中。