(未完成)flyWeight-模式

解决问题

大量相同(相似)小对象造成的内存占用问题。比如文本编辑器,如果对每个字符对生成一个对象(要涉及字符、字体等),将会是一个非常庞大的数据量。

flyWeight的本质是以时间换空间,类似于采用常量池的方式,将对象放大池子中,当需要使用该对象时,就建立一个引用,它可以极大提高系统的内存占用量,对java可以减少GC对性能的损耗。

应用场景

采用该模式,对对象有一定的要求:

原理图(UML)

9751DDE7-8C0D-4B54-8952-8CD1BE2301A9.png

示例

参考

https://en.wikipedia.org/wiki/Flyweight_pattern

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容