package cn;
import java.util.ArrayList;
import java.util.List;
import org.apache.jcs.JCS;
public class StuObjManager {
private static StuObjManager instance;
private static int checkedOut=0;
public static JCS stuCache;
private StuObjManager()
{
try
{
stuCache=JCS.getInstance("stuCache");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static StuObjManager getInstance()
{
synchronized(StuObjManager.class)
{
if(instance==null)
{
instance=new StuObjManager();
}
}
synchronized(instance)
{
instance.checkedOut++;
}
return instance;
}
public Student getStu(int sno)
{
return getStu(sno,true);
}
public Student getStu(int sno,boolean a)
{
Student stu=null;
if(a)
{
stu=(Student)stuCache.get("Stu"+sno);
}
if(stu==null)
{
stu=loadStu(sno);
}
return stu;
}
public Student loadStu(int sno)
{
Student stu=new Student();
stu.sno=sno;
try
{
boolean found=false;
found=true;
if(found)
{
stuCache.put("Stu"+sno, stu);
}
}
catch(Exception e)
{System.out.println("又报错了!");}
return stu;
}
public void storeStu(Student stu)
{
try
{
if(stu.sno!=0)
{
stuCache.remove("Stu"+stu.sno);
}
stuCache.put("Stu"+stu.sno, stu);
}
catch(Exception e)
{}
}
public List<Student> getStuList(int sno)
{
return getStuList(sno,true);
}
public List<Student> getStuList(int sno,boolean a)
{
List<Student> stulist = null;
// Student stu=null;
if(a)
{
stulist=(List<Student>)stuCache.get("StuList"+sno);System.out.println(stulist.size()+" 从内存中取出数据!");
}
// if(stu==null)
// {
// stu=loadStu(sno);
// }
return stulist;
}
public List<Student> loadStuList(List<Student> sts,int sno)
{
List<Student> stulist = sts;
try
{
boolean found=false;
found=true;
if(found)
{
stuCache.put("StuList"+sno, stulist);
}
}
catch(Exception e)
{System.out.println("又报错了!");}
return stulist;
}
public static void main(String [] args)
{
long last=System.currentTimeMillis();
StuObjManager stu=StuObjManager.getInstance();
// for(int i = 0; i < 2000; i++){
// stu.loadStu(i);
// }
// Student stu1=stu.getStu(8,true);
// System.out.println(stu1.sno);
// System.out.println("所需时间:"+(System.currentTimeMillis()-last));
List<Student> stulist = new ArrayList<Student>();
for(int m=0;m<20;m++){
Student st = new Student();
st.sno=m;
st.sname="STU"+m;
stulist.add(st);
}
stu.loadStuList(stulist, 1);
List<Student> stulistget = stu.getStuList(1);
System.out.println(stulistget.size());
for(Student stt:stulistget){
System.out.println(stt.sname+" "+stt.sno);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
testjcs2.rar (13个子文件)
testjcs2
.project 384B
jcs-1.2.7.9.jar 393KB
src
cn
StuObjManager.java 3KB
Student.java 504B
cache.ccf 2KB
concurrent-1.3.3.jar 168KB
commons-collections-3.1.jar 546KB
.classpath 534B
commons-logging-1.0.4.jar 37KB
bin
cn
Student.class 809B
StuObjManager.class 4KB
cache.ccf 2KB
commons-lang-2.0.jar 166KB
共 13 条
- 1
资源评论
- zc006032014-09-15正需要,谢谢分享
- 求仁得仁2013-10-10很好用,值得下载
- tarofriends2015-05-2610分有点贵,网上本来有这个项目的源码
- guojia300012016-03-02学习了,感谢!!!
profit_2009
- 粉丝: 6
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功