Stack overflow là gì?

Noun Programming
Tràn ngăn xếp

Lỗi tràn ngăn xếp (stack overflow) có thể xảy ra trong chương trình máy tính do sử dụng quá nhiều bộ nhớ. Việc sử dụng bộ nhớ quá mức này xảy ra trên call stack. Call stack là nơi lưu trữ thông tin liên quan đến các chương trình con (subroutine) đang hoạt động trong chương trình. Call stack có một số lượng bộ nhớ giới hạn khả dụng cho nó. Kích thước của nó được xác định bởi ngôn ngữ lập trình, kiến ​​trúc, liệu đa luồng có tồn tại trên CPU hay không và dung lượng bộ nhớ còn trống.

Thông thường, khi xảy ra lỗi tràn ngăn xếp (stack overflow) chương trình bị crash và có thể đóng băng (freeze) hoặc đóng chương trình. Mọi dữ liệu hoặc công việc chưa được lưu đều bị mất. Lỗi tràn ngăn xếp (stack overflow) thường do vòng lặp vô hạn (infinite loop) gây ra hoặc việc tạo ra các biến lớn hơn kích thước của call stack.

Noun Algorithm
overflow condition stack overflow condition
Tràn ngăn xếp

Tràn ngăn xếp (stack overflow) xảy ra khi chúng ta cố gắng push thêm một mục dữ liệu (item) vào ngăn xếp (stack) khi ngăn xếp đã đầy (full).

Learning English Everyday