title: How does the Garbage Collection mechanism work?
body: <p>In a lay-man terminology how does the garbage collection mechanism work? </p>
  
  <p>How an object is identified to be available for garbage collection? </p>
  
  <p>Also, what do <code>Reference Counting, Mark and Sweep, Copying, Train</code> mean in GC algorithms?</p>