Garbage Collection
GC
ELI5 — The Vibe Check
Garbage collection is your programming language's automatic cleanup crew. When you create variables and objects, they take up memory. When you are done with them, garbage collection sweeps in and frees that memory for you. Languages like Python and JavaScript do this automatically — C and C++ make YOU do it yourself.
Real Talk
Garbage collection is automatic memory management where the runtime periodically identifies and frees memory that is no longer reachable by the program. Common GC algorithms include mark-and-sweep, reference counting, and generational collection. GC eliminates manual memory management bugs (use-after-free, double-free) at the cost of occasional pauses and less predictable performance.
Show Me The Code
// JavaScript GC handles this automatically:
function createUser() {
const user = { name: "Alice", data: new Array(1000) };
return user.name; // 'user' object is no longer reachable after return
} // GC will free the memory for 'user'
// In C, YOU must free it:
free(user); // forget this = memory leak
When You'll Hear This
"The GC pause caused a spike in latency." / "Go has garbage collection, which makes memory management easy."