Until few weeks back, I thought I understand when to make fields and methods static or non-static. For example, when a field (say object of another
static
non-static
Fields are not made static over garbage collection. That is whole new area to consider. If the memory is huge for your static field, yeah you should make it non-static.