java代码自定义缓存 自定义缓存 java
java 中如何进行页面缓存
在jsp页面里:
公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出灵宝免费做网站回馈大家。
request.setAttribute("aaa",bbb);
request.getSession().setAttribute("ccc",ddd);
其中,bbb是一个文本里面的内容,ddd是另一个文本框里的内容。
这样可以暂时保存下来,等再次返回这个页面的时候,我们在用
得到bbb,request.getAttribute(''aaa''); 然后再把bbb设置在第一个文本框里面就好了,达到了缓存的效果。
如果你用struts框架,里面的html标签库已经为我们提供了这样的效果。我们可以直接来用。
如何用java实现缓存
java有自己的缓存输入输出类,比如 InputStream,FileOutputStram等 具体可以查看API,
要想自己实现的话,很简单,设置一个足够大的字节数组就可以了,把需要的东西放进去,就是个缓存。
Java实现简单的缓存机制原理
package qinbo hui;
/*
设计思想来自-回钦波(qq: )
*/
public class CacheConfModel implements java io Serializable{
private long beginTime;
private boolean isForever = false;
private int durableTime;
public long getBeginTime() {
return beginTime;
}
public void setBeginTime(long beginTime) {
this beginTime = beginTime;
}
public boolean isForever() {
return isForever;
}
public void setForever(boolean isForever) {
this isForever = isForever;
}
public int getDurableTime() {
return durableTime;
}
public void setDurableTime(int durableTime) {
this durableTime = durableTime;
}
}
package qinbo hui;
import java util *;
import test CacheConfModel;
/*
设计思想来自-回钦波(qq: )
*/
public class CacheMgr {
private static Map cacheMap = new HashMap();
private static Map cacheConfMap = new HashMap();
private CacheMgr(){
}
private static CacheMgr cm = null;
public static CacheMgr getInstance(){
if(cm==null){
cm = new CacheMgr();
Thread t = new ClearCache();
t start();
}
return cm;
}
/**
* 增加缓存
* @param key
* @param value
* @param ccm 缓存对象
* @return
*/
public boolean addCache(Object key Object value CacheConfModel ccm){
boolean flag = false;
cacheMap put(key value);
cacheConfMap put(key ccm);
System out println( now addcache== +cacheMap size());
return true;
}
/**
* 删除缓存
* @param key
* @return
*/
public boolean removeCache(Object key){
cacheMap remove(key);
cacheConfMap remove(key);
System out println( now removeCache== +cacheMap size());
return true;
}
/**
* 清除缓存的类
* @author wanglj
* 继承Thread线程类
*/
private static class ClearCache extends Thread{
public void run(){
while(true){
Set tempSet = new HashSet();
Set set = cacheConfMap keySet();
Iterator it = erator();
while(it hasNext()){
Object key = it next();
CacheConfModel ccm = (CacheConfModel)cacheConfMap get(key);
//比较是否需要清除
if(!ccm isForever()){
if((new Date() getTime() ccm getBeginTime())= ccm getDurableTime()* * ){
//可以清除 先记录下来
tempSet add(key);
}
}
}
//真正清除
Iterator tempIt = erator();
while(tempIt hasNext()){
Object key = tempIt next();
cacheMap remove(key);
cacheConfMap remove(key);
}
System out println( now thread================ +cacheMap size());
//休息
try {
Thread sleep( * L);
} catch (InterruptedException e) {
// TODO Auto generated catch block
e printStackTrace();
}
}
}
}
lishixinzhi/Article/program/Java/hx/201311/25737
java缓存机制怎么写
缓存其实就好比一个static变量一样,不要想的太难了,比如说你定义了一个List,这个list里面放了5个数据,这就相当于是一个缓存,还有session,这些都是缓存。java代码你就自个写吧,缓存的性能怎么样就看你自己写的代码的质量了。
1、肯定有对文件操作的
2、肯定会使用线程的
网站栏目:java代码自定义缓存 自定义缓存 java
文章起源:http://cdiso.cn/article/doeojos.html