درس 2 - معماری کاتلین

مدیریت حافظه در زبان کاتلین 

مانند دیگر زبان های برنامه نویسی ، زبان برنامه نویسی کاتلین هم معماری خاص خود را دارد تا حافظه را مدیریت کند و نتیجه ی مطلوبی را برای کاربر نهایی ارائه بدهد.

در تصویر زیر سناریو کلی کامپایلر زبان برنامه نویسی کاتلین نمایش داده شده است. البته این را در نظر داشته باشید وقتی زبان برنامه نویسی کاتلین جاوا یا جاوااسکریپت را هدف قرار میدهد سناریو کامپایل و معماری متفاوت میشود.

معماری زبان برنامه نویسی کاتلین

همانطور که مشاهده میکنید فایل های kt که همان فایل های کاتلین است به بایت کدهایی تبدیل میشود که توسط ماشین مجازی JVM قابل درک و اجراست. به همین خاطر است که زبان کاتلین روی ماشین مجازی جاوا اجرا میشود.

این بایت کدها دقیقا برابر با بایت کدهایی هستند که توسط زبان جاوا و توسط فایل های class جاوا تولید میشود.

 

معماری زبان برنامه نویسی کاتلین

زمانی که یک بایت کد ساخته شده توسط زبان جاوا و یک بایت کد ساخته شده توسط کاتلین درون ماشین مجازی جاوا یا همان JVM وجود داشته باشد آنها میتوانند باهمدیگر ارتباط داشته باشند و به همین خاطر است که زبان کاتلین با جاوا صد در صد سازگار است.

هر چند زبان کاتلین وقتی جاوا اسکریپت را هدف قرار میدهد کامپایلر زبان کاتلین فایل های kt را به ES5.1 تبدیل میکند و یک کد سازگار با جاوااسکریپت تولید میشود.

کامپایلر Kotlin قادر است کدهای سازگار با پلتفرم را از طریق LLVM ایجاد میکند.