Outer outer = new Outer();
an Object of Outer class is created on heap and reference variable points to it.
Object
Outer
If I under
Naturally, the inner holds on to strong references of the things it wants strong references to - like the other half of its instance variables which reside in Outer.