FlyWeight

String包装类使用了享元模式(蝇量模式)。

前提:享元对象不可变

与对象池、连接池、线程池的区别

  • 以 C++ 为例,预先申请一片内存作为对象池,每次创建对象时,从对象池取出一个对象使用,使用完后,再放回对象池供后续使用。

  • 池化技术的复用是为了节约时间,享元模式的复用是为了节约内存。

  • 任意时刻,池化技术中的对象只能被一处使用,使用完后放回,是重复使用;而享元模式同一时刻可以被多处使用,属于共享使用。

Last updated