传智播客java学习 hibernate缓存
今天我学习了徐老师讲的Hiberbate缓存知识,我上课做了简单的笔记:
缓存类型
一.事务范围:位于当前工作单元,不能并发访问
二.进程范围:多个工作单元共享,可并发访问,可存储实例本身也可存散列数据,然后在
重新组装
三.集群范围:多个进程和主机间访问,网络通信是重点.需要将数据复制到所有集群中的节点.
缓存和OID:
事务级缓存也用于对象id的使用范围,是理想的缓存
进程级缓存可选择实现id的进程范围存储,也和主键对应.并发工作单元查询同一id对象的话返
回相同的实例.在进程级缓存中的对象也可按值返回,每个工作单元再重新组装形成副本.
Hibernate缓存架构
1、一级缓存即session.
2、二级缓存是可配的插件,可用于进程/集群范围缓存.他们缓存都是状态(按值返回),
而不是真正的持久化对象.对于特定的数据项来说缓存的并发策略定义了事务的
隔离细节.每个类或者每个集合的二级缓存是可选可配的.每个缓存都使用了自己
的缓存区域.
3、Hibernate还实现了对查询结果集的缓存,他和二级缓存紧密结合.而且需要额外
的两个物理缓存区域来容纳缓存的查询结果和最后更新表的时间戳.
内置并发策略
并发策略是调解人,负责在缓存中检索数据.对于特定数据项,他也定义了事务隔离的语义.对类
或集合来说使用哪个并发策略需要做出判断.
四个内置的并发策略体现了递减的事务隔离的等级.
1、Transationsal
只在受管环境中使用,如果需要可以确保所有的事务隔离到可重复读,很少更新且防止脏数
据情况下该策略很重要
2、Read-write
 
相关文档:
最近想对于wiki系统的源代码研究下
jspwiki是一个不错的wiki引擎,纯jsp/servlet写的。JSPWiki不使用现成的数据库管理软件,所有的文件以文本文件的形式存放。它利用类似CVS的机制保证了文件版本的完整性。支持中文,支持版本比较、权限管理等功能!
项目主页: http://www.jspwiki.org/
文档地址:  ......
ADF中获得数据库连接,读取xml文件的数据,并将其写到数据库中:
public static void main(String[] argv) throws Exception {
//获得驱动
Class driverClass = Class.forName("oracle.jdbc.OracleDriver");
&nb ......
在命令行界面用native2ascii工具
1.将汉字转为Unicode:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii
测试
\u6d4b\u8bd5
2.将Unicode转换为汉字:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii -reverse ......
/**
* ### 真難的題目: 狗屁演算法 (測資很機車)
* 測驗結果: 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>
…
& ......