0

我有一个 Objects Bee 的矩阵(二维数组),我想应用享元模式,我应该如何应用它?如果我直接用一个巨大的大小实例化矩阵,我会分配太多的内存。有没有一种有效的方法来应用模式?

我已经检查过该模式是否适用于 Bee 对象,但我担心矩阵内存。PD我正在使用java。

4

1 回答 1

0

这直接来自维基百科

“享元是一种软件设计模式。享元是一种通过与其他类似对象共享尽可能多的数据来最小化内存使用的对象;当简单的重复表示会使用不可接受的数量时,它是一种使用大量对象的方法记忆。”

请参阅该模式建议在重复表示的情况下重用对象。因此,首先您需要查看矩阵中有多少 Bee 对象可能具有重复对象,因此匹配并重用第一个对象,而不是在内存中创建新对象。

创建一个在已创建对象池中查找的工厂。如果找到匹配项,它将从池中返回对象,否则将在内存中创建一个新对象并将其返回。

也可能有其他方法可以节省内存,但需要查看完整的代码。

于 2013-12-25T18:55:46.617 回答