Visualizing garbage collection

It can be helpful to visualize how garbage collection works and, perhaps more importantly, the need for it. Consider the following code snippet that progressively creates the string Garbage:

001 String var = new String("G");
002 var += "a";
003 var += "r";
004 var += "b";
005 var += "a";
006 var += "g";
007 var += "e";
008 System.out.println("Your completed String is: " + var + ".");

Clearly, the preceding code generates the output provided as follows:

Your completed String is Garbage.

What might not be clear is that the sample code results in five unreferenced string objects. This is due, in part, to strings being immutable. As you can see in the following table, with each successive line of code, the referenced object is updated and an additional object becomes unreferenced:

Unreferenced object accumulation

The preceding unreferenced objects listed certainly will not break the memory bank, but it is indicative of how quickly a large number of unreferenced objects can accumulate.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset