คุณควรมีความรู้เกี่ยวกับการเก็บขยะสำหรับ Java ด้วยเหตุผลสองประการ:
ขั้นแรกถ้าคุณไม่รู้วิธีการทำงานคุณอาจตัดสินใจเลือกการออกแบบโดยไม่ตั้งใจซึ่งนำไปสู่การทำงานที่เลวร้ายที่สุดในแอปพลิเคชันจริงของคุณ สิ่งนี้จะมีโอกาสน้อยลงเมื่อ GC พัฒนาขึ้น แต่ถ้าคุณมีตัวเลือกของอัลกอริทึมในแอปของคุณการรู้อะไรบางอย่างเกี่ยวกับ GC หมายความว่าคุณสามารถเลือกสิ่งที่มีความรู้เกี่ยวกับสิ่งที่มันกำลังทำอยู่แทนที่จะค้นหาว่ามันเป็นสาเหตุ พฤติกรรมที่ไม่ดี
ประการที่สองหากคุณไม่ทราบวิธีการทำงานคุณอาจไม่สามารถปรับ GC สำหรับแอปพลิเคชันที่กำหนด โปรแกรมเมอร์ Java ส่วนใหญ่ไม่จำเป็นต้องปรับแต่ง GC เนื่องจากพารามิเตอร์เริ่มต้นทำงานได้ดีพอเกือบตลอดเวลา หากคุณทำบางสิ่งที่ทำให้เกิด 'เวลาส่วนใหญ่' คุณอาจพบว่าตัวเองปรับพารามิเตอร์ GC การทำเช่นนั้นโดยปราศจากความรู้เรื่อง GC เป็นเพียงการเปลี่ยนลูกบิดแบบสุ่ม - คุณอาจได้รับสิ่งที่มีประโยชน์จากมัน
ดังนั้นในขณะที่ฉันไม่คาดหวังว่าโปรแกรมเมอร์ Java ที่ดีจะรู้ทุกอย่างภายใต้ดวงอาทิตย์เกี่ยวกับ GC ฉันคาดหวังว่าโปรแกรมเมอร์จะรู้ในระดับหนึ่งว่า GC ใน JVM ที่พวกเขาใช้ฟังก์ชั่นเป็นอย่างไรและการแลกเปลี่ยนอะไรสำหรับเรื่องนั้น อัลกอริทึม GC