传智播客java学习 hibernate缓存
今天我学习了徐老师讲的Hiberbate缓存知识,我上课做了简单的笔记:
缓存类型
一.事务范围:位于当前工作单元,不能并发访问
二.进程范围:多个工作单元共享,可并发访问,可存储实例本身也可存散列数据,然后在
重新组装
三.集群范围:多个进程和主机间访问,网络通信是重点.需要将数据复制到所有集群中的节点.
缓存和OID:
事务级缓存也用于对象id的使用范围,是理想的缓存
进程级缓存可选择实现id的进程范围存储,也和主键对应.并发工作单元查询同一id对象的话返
回相同的实例.在进程级缓存中的对象也可按值返回,每个工作单元再重新组装形成副本.
Hibernate缓存架构
1、一级缓存即session.
2、二级缓存是可配的插件,可用于进程/集群范围缓存.他们缓存都是状态(按值返回),
而不是真正的持久化对象.对于特定的数据项来说缓存的并发策略定义了事务的
隔离细节.每个类或者每个集合的二级缓存是可选可配的.每个缓存都使用了自己
的缓存区域.
3、Hibernate还实现了对查询结果集的缓存,他和二级缓存紧密结合.而且需要额外
的两个物理缓存区域来容纳缓存的查询结果和最后更新表的时间戳.
内置并发策略
并发策略是调解人,负责在缓存中检索数据.对于特定数据项,他也定义了事务隔离的语义.对类
或集合来说使用哪个并发策略需要做出判断.
四个内置的并发策略体现了递减的事务隔离的等级.
1、Transationsal
只在受管环境中使用,如果需要可以确保所有的事务隔离到可重复读,很少更新且防止脏数
据情况下该策略很重要
2、Read-write
 
相关文档:
ADF中获得数据库连接,读取xml文件的数据,并将其写到数据库中:
public static void main(String[] argv) throws Exception {
//获得驱动
Class driverClass = Class.forName("oracle.jdbc.OracleDriver");
&nb ......
/**
* ### 真難的題目: 狗屁演算法 (測資很機車)
* 測驗結果: x.xx0 ms
* 測驗日期: 200y-mm-dd
* @author Raymond Wu (小璋丸)
*/
public class Main {
// 輸入緩衝區 (緩衝空 ......
编辑工程的.project文件:
添加
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
到
<natures>
…
& ......
这是clone技术介绍的第一篇。本篇主要介绍对象clone技术的基本知识。
Clone基本知识储备
在Java里提到clone技术,就不能不提java.lang.Cloneable接口和含有clone方法的Object类。所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。否则,我们在尝试调用clone()方法时,将会触发CloneNo ......
我今天学习了徐老师讲的hibernate知识,我做了简单的笔记:
一、Hibernate
a) 连接java应用程序和关系型数据库的中间件,对JDBC API封装,负责对象持久化
b) 位于持久化层,封装所有的数据访问细节,使业务逻辑层更关注于业 ......