享元模式(FlyWeight)

网友投稿 747 2022-05-30

1、定义

享元模式(FlyWeight)

享元模式(FlyWeight),又称为蝇量模式,常用于有着大量重复使用的细粒度对象时。实质上是一种共享技术。

2、优点

利用享元池,可以使得用户在调用一个对象时可以不必去new,只需要在享元池中直接获取即可,节约了内存空间。

注:太多的对象不仅会影响性能,更严重的情况下可能会造成内存溢出

3、缺点

1)逻辑会更加的复杂。

2)对于一些享元池中不能直接取出的对象,还是需要去new,这时利用了享元模式获取对象的时间会变得更长。

4、角色

1)抽象享元类

接口/抽象类

2)具体享元类

实现接口或者抽象类的具体子类,这些子类会被大量的重复使用,而且这些子类对象都是细粒度。

3)享元工厂类

工厂其实就是一个享元池

4)组合享元类

组合享元类是依赖基本享元类产生的一个整体类,例如享元池中,如果有字符A、B,我们其实可以利用这两个字符对象构成一个AB字符串,这就是一个组合享元类。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为半年业绩明日官宣,我们先爆个料
下一篇:java进阶:【java内存结构】
相关文章