Hallo Fabian,
das ist ein sehr interesannter Artikel, vielen Dank dafür.
Wenn man in deinem obigen Beispiel die Erzeugung eines neues String-Objektes einspart, dann ist die Performance des String-interning nicht schlechter als ohne.
Also:
arr[i] = (DB_DATA[i % 10]).intern();
Anstatt:
arr[i] = new String(DB_DATA[i % 10]).intern();
Gruß,
Ben