Java / Strings
Flyweight is a Structural design pattern that helps minimizes memory use by sharing as much data as possible with other similar objects String interning is an example of flyweight design pattern.
More Related questions...
instanceofCloneable is checked? What is the default implementation of equals method in Object class.