Module 9: Advanced Core Features
String Pool & Memory Management
Understand interning, immutability, and when to reach for StringBuilder.
The string pool reuses literals to save memory; new String("x") bypasses the pool unless interned manually.
String concatenation inside loops creates garbage; use StringBuilder or StringJoiner.
Immutability enables thread safety and caching but requires mindful API design (avoid exposing char arrays).