关于这个问题,字符串留用池的实现方式.提供了很好的借鉴.关于具体实现思路,请参考字符串留用与字符串池
3、解决方案
4、使用Flyweight享元模式的要点
(1)、该模式不涉及抽象性问题,也就是和抽象无关...,它主要是解决面向对象的代价问题,在面向对象的过程中,创建了大量的对象实例,所产生的内存消耗.
(2)、该模式采用共享对象实例的方式来降低系统中对象的个数,也就是通过Hashtable等持有相同对象的引用降低细粒度对象实例带给系统的压力...(3)、因为采用持有相同对象引用的方式来共享对象,所以当一个对象发生改变时,所有的对象都会发生改变,类似数组,所以要注意对象状态的处理,不能盲目的修改.
(4)、该模式最好计算下整个系统的开销,在根据实际情况去判断是否要采用享元模式