(未完成)flyWeight-模式

解决问题

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

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

应用场景

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

原理图(UML)

(未完成)flyWeight-模式_第1张图片
9751DDE7-8C0D-4B54-8952-8CD1BE2301A9.png

示例

参考

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

你可能感兴趣的:((未完成)flyWeight-模式)