Programming Languages
JavaScript
Subjective
Sep 25, 2025
What is memory management in JavaScript?
Detailed Explanation
JavaScript automatically manages memory through garbage collection.
Memory Lifecycle:
1. Allocation - memory is allocated when variables are created
2. Usage - reading/writing to allocated memory
3. Release - memory is freed when no longer needed
Garbage Collection Algorithms:
1. Reference Counting:
let obj1 = { name: "John" }; // Reference count: 1
let obj2 = obj1; // Reference count: 2
obj1 = null; // Reference count: 1
obj2 = null; // Reference count: 0, eligible for GC
Problem - Circular References:
function createCircular() {
let obj1 = {};
let obj2 = {};
obj1.ref = obj2;
obj2.ref = obj1; // Circular reference
return "done";
}
2. Mark-and-Sweep (Modern approach):
- Marks all reachable objects from root
- Sweeps unmarked objects
- Handles circular references
Memory Leaks Prevention:
- Remove event listeners
- Clear timers
- Avoid global variables
- Break circular references
- Use WeakMap/WeakSet for weak references
Discussion (0)
No comments yet. Be the first to share your thoughts!
Share Your Thoughts