What are the main JVM memory areas, and which are shared vs per-thread?
⚡ Short Answer
Shared across threads: Heap (objects) and Metaspace (class metadata). Per-thread: the JVM Stack (frames, locals), PC register, and native method stack. Most OutOfMemory issues are Heap or Metaspace; StackOverflowError is the per-thread stack.
☕Coffee Chat Question
Concept Made Simple
“What are the main JVM memory areas, and which are shared vs per-thread?”
🧠Mind Map Answer
Remember It Faster
🔥What If?
Think Beyond the Expected
Deep recursion throws StackOverflowError but the heap is fine — which area, and the fix?
That's the per-thread JVM stack overflowing (too many frames). Fix the recursion (add a base case / convert to iteration) or, rarely, raise -Xss. It's unrelated to heap size — bumping -Xmx won't help.
😂Real World
Knowing which area is exhausted routes the fix: Heap OOM → leak/sizing, Metaspace OOM → classloader leak/too many classes, StackOverflow → recursion. Misdiagnosing wastes incident time.
🎯Interviewer's Expectation
Keywords they're listening for:
⚠️Common Mistakes
- ✗Raising -Xmx for a StackOverflowError
- ✗Thinking Metaspace is part of the heap
- ✗Ignoring per-thread stack cost when creating many threads
✅Best Practices
- ✓Match the fix to the exhausted area
- ✓Bound recursion; prefer iteration for deep structures
- ✓Monitor both heap and metaspace
🔁Follow-up Questions
- 1Where do String literals and static fields live?
- 2Why did PermGen become Metaspace?
- 3What does -Xss control?
🧩Related Technologies
Continue Learning with AI
Take this question deeper with your favourite AI assistant. Pick a depth, copy the prompt, or open it directly — AI is your learning companion, not a shortcut.
Plain-language foundations
I'm preparing for a software engineering interview and want to understand this from scratch, as a beginner. Topic: Memory Areas (JVM) Interview question: "What are the main JVM memory areas, and which are shared vs per-thread?" Please: 1. Explain the core idea in simple, plain language, using an everyday analogy. 2. Define any technical terms you use. 3. Walk through one small, concrete example. 4. Finish with a single sentence I can easily remember. Keep the tone friendly and assume I'm new to this topic.
Was this answer helpful?
⭐ Featured Products
Support our platform by exploring our recommended products.
As an Amazon affiliate, purchases through these links may earn us a small commission — at no extra cost to you. It helps keep Full Stack Interview Guru free.