3. Assume that at the high level your data is represented efficiently • Data doesn’t sit in memory for longer than needed • No unnecessary duplicate data structures - E.g. don’t keep same objects in both a List and a Set • Data structures are appropriate - E.g. don’t use ConcurrentHashMap when no concurrency • Data format is appropriate - E.g. don’t use Strings for int/double numbers 4. Main source
![Java Memory Analysis: Problems and Solutions](https://cdn-ak-scissors.b.st-hatena.com/image/square/e6ad481ebe77e0d7a2a238e8dd5bc976b40c769f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fjava-mem-analysis-publicslideshare-170502195101-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)