• 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);
    }
    }
  • 相关阅读:
    spring retry注解
    安装mongodb并配置
    spring boot Hello World
    Linux命令echo
    Linux vi命令
    查看linux是ubuntu还是centos
    Linux系统时间, 硬件BIOS时间的校准与同步
    MySQL优化查询 5.7版本
    战略由谁来制定
    VS2015快捷键
  • 原文地址:https://www.cnblogs.com/ssMellon/p/6518006.html
Copyright © 2020-2023  润新知