传智播客java学习 hibernate缓存
今天我学习了徐老师讲的Hiberbate缓存知识,我上课做了简单的笔记:
缓存类型
一.事务范围:位于当前工作单元,不能并发访问
二.进程范围:多个工作单元共享,可并发访问,可存储实例本身也可存散列数据,然后在
重新组装
三.集群范围:多个进程和主机间访问,网络通信是重点.需要将数据复制到所有集群中的节点.
缓存和OID:
事务级缓存也用于对象id的使用范围,是理想的缓存
进程级缓存可选择实现id的进程范围存储,也和主键对应.并发工作单元查询同一id对象的话返
回相同的实例.在进程级缓存中的对象也可按值返回,每个工作单元再重新组装形成副本.
Hibernate缓存架构
1、一级缓存即session.
2、二级缓存是可配的插件,可用于进程/集群范围缓存.他们缓存都是状态(按值返回),
而不是真正的持久化对象.对于特定的数据项来说缓存的并发策略定义了事务的
隔离细节.每个类或者每个集合的二级缓存是可选可配的.每个缓存都使用了自己
的缓存区域.
3、Hibernate还实现了对查询结果集的缓存,他和二级缓存紧密结合.而且需要额外
的两个物理缓存区域来容纳缓存的查询结果和最后更新表的时间戳.
内置并发策略
并发策略是调解人,负责在缓存中检索数据.对于特定数据项,他也定义了事务隔离的语义.对类
或集合来说使用哪个并发策略需要做出判断.
四个内置的并发策略体现了递减的事务隔离的等级.
1、Transationsal
只在受管环境中使用,如果需要可以确保所有的事务隔离到可重复读,很少更新且防止脏数
据情况下该策略很重要
2、Read-write
 
相关文档:
1.Duplicated Code
代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。
2.Long method
它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。 ......
在命令行界面用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 ......
public static void main(string[] args)
{
int[] arrayInt=new int[] {1,2,3,4,5}
ArrayList alist =ArrayList();
//方法一
foreach(int i in alist)
{
&nbs ......
(注意:下面文件都在f:\myjava中)
{
3个源文件:MyApp.java,MyLib.java,PrintSchool.java;
建文件夹org\Jie
其中MyLib和PrintSchool放在包org.Jie中(import org.Jie)
在cmd.exe中运行
javac -d org\Jie MyLib.java //在org\Jie\org\jie生成了MyLib.class文件,将该文件 ......
这是clone技术介绍的第一篇。本篇主要介绍对象clone技术的基本知识。
Clone基本知识储备
在Java里提到clone技术,就不能不提java.lang.Cloneable接口和含有clone方法的Object类。所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。否则,我们在尝试调用clone()方法时,将会触发CloneNo ......