Если у вас есть два экземпляра String, и они равны, в Java они будут использовать одну и ту же память. Как это реализовано под капотом?
EDIT: мое приложение использует большое количество объектов String, многие из которых идентичны. Каков наилучший способ использования пула констант Java String, чтобы избежать создания пользовательской версии flyweight?