设计模式:享元模式(Flyweight Pattern)

   1。享元模式:也叫蝇量模式,运行共享技术有效的支持大量细粒度的对象。

   2。享元模式常用于系统底层开发,解决系统的性能问题。比如数据库连接池,里面都是创建好的连接对象。

   3。享元模式能够解决重复对象的内存浪费问题,当系统中有大量相似对象,需要缓冲池时,不需总是创建新对象,可以从缓冲池里拿。这样可以降低系统内存,同时提高效率。

     4。享元模式经典的应用场景就是池技术。String常量池,数据库连接池,缓冲池等等都是享元模式的应用,享元模式是池技术的重要实现方式。

  JDK中的Integer类就使用到了享元模式

public class FlyWeightInteger {
	public static void main(String[] args){
        // -128到127之间的数, valueOf()会使用享元模式返回
		Integer x = Integer.valueOf(127);
		Integer y = new Integer(127);
		Integer z = Integer.valueOf(127);
		Integer w = new Integer(127);
		
		System.out.println(x == z);
		System.out.println(y == z);
		System.out.println(y == w);
	}
}
发布了557 篇原创文章 · 获赞 40 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/m0_37564426/article/details/103635159