📓
JMM, Java Concurrency and JVM
  • Introduction
  • Part 1. Java Memory Model (JMM)
  • Chapter 1-1. Basics
  • Chapter 1-2. Reorder
  • Chapter 1-3. Sequentially Consistency
  • Chapter 1-4. Volatile
  • Chapter 1-4.1 More About Volatile
  • Chapter 1-5. Lock
  • Chapter 1-5.1 Synchronized
  • Chapter 1-5.2 Synchronized v.s. Lock
  • Chapter 1-6. Final
  • Chapter 1-7. DCL and Lazy Initialization
  • Chapter 1-8. Summary
  • Part 2. Java Concurrency
  • Chapter 2-1. Thread Pool Analysis
  • Chapter 2-2. The Implementation of Atomic Operations
  • Chapter 2-3. Fork/Join Framework
  • Part 3. JVM
  • Chapter 3-1. JVM Runtime Data Area
  • Chapter 3-2. Object in Java Heap of HotSpot
  • Chapter 3-3. DIY Exception
  • Chapter 3-4. GC - Basics
  • Chapter 3-5. GC - GC Algorithms
  • Chapter 3-6. GC - HotSpot Implementations
  • Chapter 3-7. GC - Garbage Collectors
  • Chapter 3-8. GC - How to Read GC Logs?
  • Chapter 3-9. GC - Memory Allocation Demo
  • Chapter 3-10. GC - Summary
  • Appendix
  • Reference
Powered by GitBook
On this page

Was this helpful?

Chapter 3-3. DIY Exception

PreviousChapter 3-2. Object in Java Heap of HotSpotNextChapter 3-4. GC - Basics

Last updated 5 years ago

Was this helpful?

前面講了那麼多記憶體區塊, 各區塊上可能也會有噴錯的情況, 以下就列出我自己實作的結果, 因為我很懶, 所以這邊就直接附上commit連結而已.

  • Java Heap OOM:

  • Java VM Stack SOF:

  • Java VM Stack OOM:

  • Runtime Constant Pool OOM:

  • Java Method Area OOM:

  • Direct Memory OOM:

我覺得這邊的範例其實有些是有問題的, 因為我讀的書是用JDK7, 但我現在用的是JDK8, 在JDK8裡, 引入了meta space的概念, 所以很多OOM就制造不出來了, 所以看看就好...

點我
點我
點我
點我
點我
點我