Tag: flyweight pattern

Java的字符串实习生是轻量级吗?

Java的String内存池的实现是否遵循flyweight模式? 为什么我有这个疑问,我看到实习生没有涉及外在国家。 在GoF中我读到内在和外在状态之间应该有一个正确的平衡。 但在实习生中,一切都是内在的。 或者我们应该说没有关于属性的严格规则,只是共享对象以减少内存就足以称之为flyweight。 请帮我理解。

Flyweight模式中描述的内在和外在状态之间有什么区别?

从“ 四人帮”中的FlyWeight模式章节开始, FlyWeight模式适用于大多数对象状态可以是外在的 。 extrinsic state意味着什么? 我感觉这个模式用于共享对象。 如果要共享对象,那么该对象如何甚至可以拥有任何状态?

java如何在引擎盖下实现字符串的flyweight模式?

如果你有两个String实例,并且它们是相同的,那么在Java中它们将共享相同的内存。 这是如何实现的? 编辑:我的应用程序使用大量的String对象,其中许多是相同的。 使用Java String常量池的最佳方法是什么,以避免创建自定义flyweight实现?