مدیریت حافظه بخش حیاتی هر زبان برنامهنویسی است و Go هم از این قاعده مستثنی نیست. سرعت و کارایی برنامههای Go به شدت وابسته به نحوه تخصیص و مدیریت حافظه است.
هرچند Go با APIهای سادهای مثل
new(T), &T{} و make پیچیدگیها را از دید برنامهنویس پنهان میکند، اما درک سازوکار پشت پرده به ما کمک میکند:* بفهمیم چگونه runtime بازدهی بالایی دارد،
* نقاط ضعف و گلوگاههای احتمالی را شناسایی کنیم.
در این سری قرار است:
* با اجزای اصلی memory allocator در Go آشنا شویم،
* نحوه مدیریت حافظه برای اشیاء کوچک، متوسط و بزرگ را ببینیم،
* مدیریت stack در کنار heap را بررسی کنیم،
* و در نهایت با مطالعه case studyها**، تأثیر عملی این استراتژیها را در برنامههای واقعی درک کنیم.
قبل از ورود به جزئیات، بهتر است مفاهیم پایهای **Virtual Memory در سیستمعامل مرور شود.
➖➖➖➖➖➖➖➖
👑 @gopher_academy