【发布时间】:2022-01-11 05:23:00
【问题描述】:
我对 java 有一些了解,对计算机的底层功能也有很多了解,所以我一直在寻找节省 ram 的方法。我也是矮人要塞的粉丝,所以我一直在尝试让一些类似的系统工作。所以,我想做的是制作多个瓦片,为它们分配某种类型的材质,所有具有相同类型材质的瓦片共享同一个材质对象。我画了一张小图来说明:here java会自动执行此操作吗?还是我必须自己实施?如果我制作了两个材料属性的副本,有没有办法将它们合并为一个?
感谢您的回复。
【问题讨论】:
-
"java 会自动执行此操作吗?" 否。对象池模式。
-
您能否澄清一下“对象池模式”是什么?或如何实施?我在网上看了一下,很多网站只在新对象“创建成本高”时才谈论使用它。他们都没有真正谈论使用它来节省内存。我应该在谷歌上搜索它还有其他名称吗?
-
您不一定需要对象池。您可以将数据设为静态,因此它将与类相关联。然后材质的新实例都将引用同一个对象。不过你的问题有点含糊。