Trung BìnhJava iconJava

Stack overflow và heap overflow khác nhau thế nào?

Stack overflow: quá nhiều method call (đệ quy sâu) làm cạn kiệt stack memory — StackOverflowError xảy ra nhanh và rõ ràng (stack trace hiện rõ đệ quy sâu).

  • Stack nhỏ, giới hạn per-thread.
  • Heap overflow: quá nhiều object làm cạn heap — OutOfMemoryError, GC chạy trước rồi mới throw, performance giảm trước khi crash.
  • Heap overflow khó diagnose hơn, cần profiling/heap dump.
  • Phòng tránh stack overflow: tránh đệ quy sâu, dùng iteration; phòng heap overflow: quản lý object creation, fix memory leak.

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java