What are the main JVM memory areas, and which are shared vs per-thread?
Reviewed by Gurusankar M.
β‘ 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.