مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت یازدهم

سلام و خسته نباشید خدمت همه
قسمت یازدهم از مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید رو در پیش داریم که میتونید از طریق لینک های زیر به توضیحات و قسمت های قبلی دسترسی داشته باشید ، امروز میریم سراغ ده سوال بعدی...
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت اول
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت دوم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت سوم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت چهارم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت پنجم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت ششم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت هفتم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت هشتم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت نهم
مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت دهم


۱۰۱. چرا String ها تغییر ناپذیر هستند ؟

در اصل String ها تنها یک بار مقداردهی می شوند و مقدار آن ها دیگر تغییر نمی کند ،‌ اگر هم تغییر کنند در اصل یک شئ جدید از نوع String ساخته می شود. این مورد توسط StringBuffer انجام نمی شود.


۱۰۲. تابع String.intern چیست و چه موقع استفاده می شود؟

این تابع با تکرار ( duplication ) مقادیر String سر و کار دارد. یک String تکراری است در صورتی که محتوای آن String در یک متغیر دیگر درون حافظه موجود باشد.

به عنوان مثال با فراخوانی تابع intern بر روی "abc" ماشین مجازی جاوا "abc" را درون یک استخر String قرار می دهد و هر موقع دوباره کسی متغیری برابر "abc" بسازد ماشین مجازی همان متغیر درون استخر را باز می گرداند و دوباره حافظه را برای شئ جدید اشغال نمیکند ( ابعاد جلوگیری از اشغال حافظه به تعداد تکرار این مقدار در کدتان بستگی دارد. )

هروقت تابع intern دوباره روی یک String اجرا شود اگر String ای درون یک استخر وجود داشت که تابع equals با اجرا بر روی آن مقدار true را باز گرداند ماشین مجازی آدرس همان String درون استخر را بازمیگرداند و در غیر این صورت یک String جدید را درون استخر می سازد.


۱۰۳. استخر String در جاوا چیست ؟

استخر String در جاوا یک استخر از مقادیر String درون حافظه heap است که هرموقع ما یک متغیر String را توسط double quotes یا همان علامت " " مقدار دهی می کنیم ابتدا ماشین مجازی درون این استخر جستجو می کند و اگر مقدار نسبت داده شده به متغیر جدید ما درون استخر وجود داشت فقط آدرس مقدار درون استخر را باز می گرداند در غیر این صورت یک String جدید را وارد استخر می کند و سپس آدرس آن را باز می گرداند.


۱۰۴. انواع Final ؟

یک شئ یا متغیر final وقتی تعریف شد دیگر قابل تغییر نیست.

  • کلاس های final : یک کلاس final نمی تواند زیر کلاس داشته باشد
  • متغیر های final : یک متغیر final بعد از مقدار دهی اولیه دیگر قابل تغییر نمی باشد.
  • توابع final : یک تابع final نمی تواند در یک زیر کلاس override شود.


۱۰۵. کلمه کلیدی Finalize ؟

تابع Finalize عمل پاک کردن حافظه را دقیقا قبل از این که شئ Garbage collect شود به انجام می رساند.


۱۰۶. کلمه کلیدی Finally ؟

کلمه finally یک محدوده ( block ) از کد را مشخص می کند که اجرای آن ها بسیار مهم است و چه exception اعمال شده باشد چه اعمال نشود ، این محدوده از کد اجرا می شود.


۱۰۷. متغیر های Static چیستند ؟

متغیر های Static متغیر هایی هستند که تنها یک نسخه از آن ها در یک کلاس وجود دارد و این متغیر ها متعلق به تنها یک نمونه ( instance ) از یک کلاس نیستند و به کل کلاس تعلق دارند و می توان بدون نمونه گیری از یک کلاس به آن ها دسترسی داشته باشید. متغیر های غیر Static می توانند مقادیر منحصر به فردی در هر نمونه به خود بگیرند.


۱۰۸. انعکاس ( reflection ) چیست؟

قابلیت انعکاس در جاوا بازرسی بر کلاس ها ، اینترفیس ها ، فیلد ها و متد ها را در هنگام اجرا ( بدون توجه به نام کلاس ها در هنگام کامپایل ) انجام می دهد. نمونه گیری از اشیاء و فراخوانی توابع و همچنین گرفتن یا set کردن یک مقدار برای فیلد ها را می توان توسط قابلیت انعکاس جاوا انجام داد.


۱۰۹. مولتی تردینگ ( multi threading ) چیست ؟

توسط multi threading چند وظیفه به صورت همزمان درون یک برنامه اجرا می شوند.


۱۱۰ـ Fail-fast و Fail-Safe چیستند ؟

در iterator های Fail-fast هرگاه یک thread در حال مرور بر یک شئ مجموعه ای ( مانند List ) است و یک thread دیگر تغییر ساختاری در شئ مجموعه ای ایجاد کند. ( مانند اضافه یا حذف کردن مواردی به شئ ) به سرعت یک ConcurrentModificationException بازگردانده می شود.

اما iterator های Fail-Safe همیشه بر روی یک کپی از شئ مجموعه ای کار میکنند به جای نسخه اصلی آن شئ.



ترجمه متنی از Anitaa Murthy

تشکر بابت مطالعه پست
لایک و حمایت یادتون نره
سوالی بود درخدمتم
نوشته شده با ❤️ توسط کوچیکتون حمیدرضا شجراوی =)))