Cách đây ít lâu, vì tò mò, tôi đã viết một chương trình Java chiếm rất nhiều bộ nhớ rất nhanh. (Nó thêm BufferedImages vào một danh sách mảng trong một vòng lặp.)
Tôi giữ cho Windows System Monitor mở để quan sát mức sử dụng RAM khi nó chạy.
Khi tôi bắt đầu chương trình, việc sử dụng RAM tăng lên rất nhanh và khi nó đạt khoảng 100% RAM 6GB, máy tính của tôi trở nên cực kỳ chậm. Sau khoảng một phút, tôi đã kết thúc chương trình và máy tính của tôi dần phục hồi tốc độ. Điều khiến tôi chú ý là việc sử dụng bộ nhớ đầu tiên giảm chậm, sau đó đột nhiên nó giảm xuống gần 0MB trước khi tăng trở lại mức sử dụng nhàn rỗi ở mức khoảng 2-2,5GB.
Tôi đã chụp ảnh màn hình sử dụng RAM trong System Monitor:
Tôi đã tự hỏi liệu có ai có thể giải thích điều gì xảy ra khi máy tính hết bộ nhớ không và tại sao nó không hoạt động trở lại ngay sau khi chương trình kết thúc mà chỉ khoảng 60 giây sau? Ngoài ra, tại sao việc sử dụng hoàn toàn không có gì thay vì chỉ sử dụng nhàn rỗi?