首页 > 代码库 > Flyweight 模式
Flyweight 模式
特点:将重复创建消耗内存或资源的对象采用对象池方式以外部化实例实现,以达到对象重用的目的。
使用过程可分为以下三个步骤:
1.将需重复创建的对象进行对象池封装
class ExternalizedData{
static final int size=100;
static int [] id=new int[size];
static int [] i=new int[size];
static {
for(int i=0;i<size;++i){
id[i]=i;
}
}
}
2.建立中间对象对1中对象进行操作,而非对新建对象操作
class FlyPoint{
private FlyPoint(){}
public static int getI(int obnum){
return ExternalizedData.i[obnum];
}
public static void setI(int obnum,int i){
ExternalizedData.i[obnum]=i;
}
public static String getString(int obnum){
return "id:"+ExternalizedData.id[obnum]+" , i = "+ExternalizedData.i[obnum];
}
}
3.客户端操作
public class FlyWeightObjects {
public static void main(String[] args) {
for(int i=0;i<ExternalizedData.size;++i){
FlyPoint.setI(i,FlyPoint.getI(i)+1);
}
System.out.println(ExternalizedData.size-1);
}
}
Flyweight 模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。