جاوا یک زبان برنامه ‌نویسیِ شی گرا است و یکی از قابلیت ‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد. با صرف وقت در نحوه عملکرد حافظه در جاوا شما می توانید از بروز مشکلات در کد خود جلوگیری گرده و همچنین هر گونه خطای حافظه ای را که هنوز موجود می باشد را رفع  کنید. در این دوره آموزشی عملی، مدرس دوره بر نحوه عملکرد حافظه در ربان جاوا متمرکز می شود. او مفاهیمی اساسی مانند: نقش پشته، حافظه پویا، گریز از رفرنس ها، جمع آوری حافظه بلا استفاده، تشخیص نشت حافظه در نرم افزار، و موارد بیشتر دیگر. همچنین، او با ارائه یک چارچوب دنیای واقعی به این مفاهیم با نشان دادن چگونگی شکار و رفع یک نشت حافظه در یک برنامه وب جاوا نمونه می پردازد. با اینکه مدرس در طول دوره با Eclipse و Java 8 کار می کند،  مطالب پوشش داده شده در این دوره برای هر محیط توسعه یکپارچه (IDE) و Java 6  معتبر می باشد.

مباحث دوره:

  • نحوه عملکرد حافظه در برنامه جاوا
  • چرا حافظه مهم است؟
  • نقش پشته
  • نقش حافظه پویا
  • ارسال پارامتر به متد‌ها در جاوا به روش Passing by value
  • نحوه ارسال اشیاء
  • کلمه کلیدی final
  • تمرین حافظه
  • مفهوم Escaping References
  • یک مثال از Escaping References
  • اجتناب از Escaping References با Collections
  • اجتناب از Escaping References با Custom Objects
  • تمرین Escaping References
  • مقدمه ای بر جمع آوری حافظه بلا استفاده (garbage collection)
  • مخازن رشته
  • مفهوم Garbage Eligibility
  • متد های gc() و finalize()
  • در اینکه نشت های نرم افزار چه هستند
  • شناسایی نشت های نرم
  • الگوریتم Mark-and-sweep
  • تعمیم جمع آوری حافظه بلا استفاده
  • استفاده از Visual GC برای دیدن یک soft leak
  • استفاده از ابزار Memory Analyzer
  • فضای PermGen و  Metaspace
  • بهسازی ماشین مجازی
  • اندازه حافظه پویا
  • اندازه PermGen
  • جمع آوری حافظه بلا استفاده و اندازه فضای generation
  • ایجاد یک heap dump
  • انتخاب یک garbage collector
  • شکار یک نشت حافظه
  • معرفی مثال های کاربردی
  • نظارت بر برنامه کاربردی
  • اصلاح یک نشت حافظه