When Java came out and I began to spend virtually all my time building Java applications, I naively figured the days of manual memory management were gone (after all, Java has garbage collection!).