导航:首页 > 编程语言 > java缓冲池

java缓冲池

发布时间:2023-08-09 20:03:14

1. java概念问题 请问“字节的缓冲区”和“字节缓冲流”的区别

  1. 缓冲区是一个内存区域的概念,类似于池子

  2. 流就像一根专管道,因为使用了一个池子(缓冲属区)作为中间过渡,所以称为缓冲流

  3. 使用缓冲流的目的是为了减少直接与硬盘交互传输的次数,增加每次传送的数据量,借以提高传输效率,保护硬件

2. java怎么实现map 缓存技术

/**
*缓存池
*@authorxiaoquan
*@create2015年3月13日上午10:32:13
*@see
*/
publicclassCachePool{
;//缓存池唯一实例
privatestaticMap<String,Object>cacheItems;//缓存Map

privateCachePool(){
cacheItems=newHashMap<String,Object>();
}
/**
*得到唯一实例
*@return
*/
(){
if(instance==null){
instance=newCachePool();
}
returninstance;
}
/**
*清除所有缓存
*/
(){
cacheItems.clear();
}
/**
*获取缓存实体
*@paramname
*@return
*/
(Stringname){
if(!cacheItems.containsKey(name)){
returnnull;
}
CacheItemcacheItem=(CacheItem)cacheItems.get(name);
if(cacheItem.isExpired()){
returnnull;
}
returncacheItem.getEntity();
}
/**
*存放缓存信息
*@paramname
*@paramobj
*@paramexpires
*/
(Stringname,Objectobj,longexpires){
if(!cacheItems.containsKey(name)){
cacheItems.put(name,newCacheItem(obj,expires));
}
CacheItemcacheItem=(CacheItem)cacheItems.get(name);
cacheItem.setCreateTime(newDate());
cacheItem.setEntity(obj);
cacheItem.setExpireTime(expires);
}
(Stringname,Objectobj){
putCacheItem(name,obj,-1);
}

/**
*移除缓存数据
*@paramname
*/
(Stringname){
if(!cacheItems.containsKey(name)){
return;
}
cacheItems.remove(name);
}

/**
*获取缓存数据的数量
*@return
*/
publicintgetSize(){
returncacheItems.size();
}
}
publicclassCacheItem{
privateDatecreateTime=newDate();//创建缓存的时间
privatelongexpireTime=1;//缓存期满的时间
privateObjectentity;//缓存的实体

publicCacheItem(Objectobj,longexpires){
this.entity=obj;
this.expireTime=expires;
}

publicbooleanisExpired(){
return(expireTime!=-1&&newDate().getTime()-createTime.getTime()>expireTime);
}
/**
*省略getter、setter方法
*/
}

3. java,保存文件时缓冲区大小,有什么作用吗

就是这么说吧,我打个比方
一个人要把水龙头流出来的水弄到水缸里面去,要是专没有缓冲池,属每流出一滴水,你都要跑两趟水龙头与缸之间的距离(这个在传文件的时候就是磁盘读写的时间),而当你有一个缓冲池(比如盆),你可以等盆满了再把水弄过去(这之间你可以做其他的事,在JAVA中,你就是CPU)……
所以有缓冲区的话,你可以节省CPU的大量时间,而且可以对缓冲区中的数据进行集中读写,这样不必每来一个数据你去到磁道上搜索地址,然后再回来接受数据,再去搜索地址存取数据,再回来接受数据。
缓冲区的大小根据你的用户的上传文件的大小设置,一般取平均值,这个要经验的。注意:缓冲区大小不是上传文件的平均值大小……累死了,打这么多字,睡觉咯

阅读全文

与java缓冲池相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接