Memory Management

Strategyข้อดีข้อเสีย
Manual (C)- มีประสิทธิภาพ
- ควบคุมได้อิสระ
- เกิดข้อผิดพลาดได้ง่าย
- ต้องมีความเข้าใจเรื่อง memory ระดับหนึ่ง
OBRM (Rust) / RAII (C++)- มีประสิทธิภาพ
- ควบคุมได้เกือบอิสระ
- เกิดข้อผิดพลาดได้ยาก
- ต้องมีความเข้าใจเรื่อง memory ระดับหนึ่ง
Automatic (JavaScript, Python, C#)- เกิดข้อผิดพลาดได้ยาก
- เป็นภาษาที่ใช้งานง่าย
- ไม่มีประสิทธิภาพ
- ไม่มีความอิสระในการควบคุมการใช้หน่วยความจำ

note

OBRM ย่อมาจาก Ownership Based Resource Management

note

RAII ย่อมาจาก Resource Acquisition Is Initialization

note

Garbage Collector (GC) คือระบบอัตโนมัติที่จัดการ memory ในโปรแกรม โดยจะทำหน้าที่คอยตรวจสอบและ "เก็บกวาด" หน่วยความจำที่ไม่จำเป็นต้องใช้อีกต่อไป