title: How actually card table and writer barrier work?
body: <p>I am reading some materials about garbage collection in Java in order to get to know more deeply what really happens in GC process.</p>
  
  <p>I came across on the mechanism called "card table". I've Googled for it and haven't found comprehensive information. Most of explanations are rather shallow and describes it like some magic.</p>
  
  <p>My question is: How card table and write barrier works? What is marked in card tables? How then garbage collector knows that particular object is referenced by another object persisted in older generation.</p>
  
  <p>I would like to have some practical imagination about that mechanism, like I was supposed to prepare some simulation.</p>