Garbage Collection is a memory management and automatically recycling the heap memory. The collector recycles the memory that is not referencing and that can prove will never be used again. By collector it is assumed that when something is no longer needed, it is no longer referenced. This can be detected and the widget collected.
Reference Counting: each object contains a counter saying how many references to it there are. When you refer to an object, you increment the counter. When you're done with it, you decrement the counter. When the counter reaches 0, the object can be recycled.
Stop And Copy: The heap is divided into two regions. One contains objects, and the other is empty. You recursively traverse all the objects in the first region (as in mark-and-sweep), copying them into the second region. Then you interchange the roles of the two regions. No need to scan the unused objects in the first region.