【发布时间】:2012-06-26 16:44:58
【问题描述】:
Java的String内存池的实现是否遵循flyweight模式?
我有这个疑问的原因是,我看到实习生中不涉及外在状态。在 GoF 中,我读到应该在内在状态和外在状态之间取得适当的平衡。但在实习生中,一切都是内在的。
或者我们应该说没有关于属性的严格规则,仅共享对象以减少内存就足以称其为享元。
请帮助我理解。
【问题讨论】:
-
我会说如果你的对象没有外在的 context ,那么你实际上只是在缓存。享元模式甚至有用定义的全部原因是人们经常忘记他们至少可以缓存与上下文无关的对象的一部分并共享它。
标签: java design-patterns flyweight-pattern