zoukankan      html  css  js  c++  java
  • Flyweight(享元模式)

    import java.util.Hashtable;
    
    /**
     * 享元模式
     * @author TMAC-J
     * 享元模式一般和工厂模式一起使用,但此处为了更好说明,只用享元模式
     * 定义:享元模式针对于是一种以时间来切换空间的方式,其公用同一实例,线程池,string都是其应用
     */
    public class FlyweightPattern {
        
         public class Flyweight{
            private Hashtable<String, Object> objs = new Hashtable<String, Object>();
            public Object  createObj(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
                if(objs.get(className) == null){
                    Object obj = Class.forName(className).newInstance();
                    return obj;
                }
                else{
                    return objs.get(className);
                }
            }
         }
        
        public class A {}
        
        public class B{}
        
        public void test() throws InstantiationException, IllegalAccessException, ClassNotFoundException{
            Flyweight flyweight = new Flyweight();
            flyweight.createObj("A");
            flyweight.createObj("B");
        }
        
    }
  • 相关阅读:
    Vue less使用scope时渗入修改子组件样式
    Spring容器初始话原理图
    Java的动态代理
    Spring_xml和注解混合方式开发
    Spring_xml方式开发
    Spring入门初体验
    数论
    虚拟IP和IP漂移
    字符串hash + 二分答案
    字符串hash
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6230232.html
Copyright © 2011-2022 走看看