A memory leak is where an unreferenced object that will never be used again still
hangs around in memory. These are very common in C/
C++. All you have to do is fail to manually delete
an object. In Java, in theory, leaks are impossible, since Java automatically garbage
collects unreferenced objects. However, it is still possible in Java to have a reference to an Object that you will never use
again. That is called packratting. Some of it can be
avoided, some not.