This more sounds like that you're looking for flyweight pattern.
Flyweight is a software design pattern. A flyweight is an object that minimizes memory use by sharing as much data as possible with other similar objects
Click the link, it contains a Java example.