Bạn nên có MỘT SỐ kiến thức về cách bộ sưu tập rác cho Java hoạt động vì hai lý do:
Đầu tiên, nếu bạn không biết nó hoạt động như thế nào, thì bạn có thể vô tình đưa ra các quyết định thiết kế dẫn đến hiệu suất trong trường hợp xấu nhất trong ứng dụng thực tế của bạn. Điều này sẽ ngày càng ít xảy ra khi GC cải thiện, nhưng nếu bạn có lựa chọn thuật toán trong ứng dụng của mình, thì việc biết một số điều về GC có nghĩa là bạn có thể chọn một kiến thức về những gì nó sẽ làm, thay vì tìm hiểu rằng nó gây ra hành vi xấu.
Thứ hai, nếu bạn không biết nó hoạt động như thế nào, bạn có thể điều chỉnh GC cho một ứng dụng nhất định. Hầu hết các lập trình viên Java không bao giờ cần điều chỉnh GC, vì các tham số mặc định hoạt động đủ tốt hầu hết thời gian. Nếu bạn làm điều gì đó vượt ra khỏi 'phần lớn thời gian', thì bạn có thể thấy mình điều chỉnh các tham số GC. Làm như vậy mà không có kiến thức về GC chỉ là các nút xoay ngẫu nhiên - bạn có thể nhận được thứ gì đó hữu ích từ nó, nhưng nhiều khả năng bạn sẽ khiến mọi thứ trở nên tồi tệ hơn.
Vì vậy, trong khi tôi không mong đợi một lập trình viên Java giỏi biết mọi thứ dưới ánh mặt trời về GC, tôi hy vọng rằng lập trình viên đó sẽ biết ở mức độ nào đó, GC trong JVM họ đang sử dụng các hàm và sự đánh đổi là gì cho điều đó Thuật toán GC.