تیکه پاره های جاوا
528 subscribers
93 photos
24 videos
7 files
58 links
سلام خوش اومدید. اینجا یادداشت ها و تکه های جاوا رو کنار هم قرار میدیم :) مطالب کاملا اختصاصی و دستنویس هستند. کپی فقط با ذکر منبع و آیدی کانال❤️

📝برای تدریس پیام دهید
محمدرضا عظیمی‌فرد
🆔 @mrvj475
Download Telegram
💎معنی Mutable و Immutable بودن کلاس ها (قابل تغییر و غیر قابل تغییر بودن)

🔅به آبجکت هایی که بعد از ایجاد شدن قابل تغییر هستند، Mutable گفته میشود. برای مثال کلاس Date یا StringBuilder
🔅در مقابل به ابجکت هایی که پس از ایجاد شدن قابل تغییر نیستند، Immutable گفته میشود. برای مثال کلاس String, Integer, Long,...

🔰 نمونه کلاس String:

String str = "Test";
str.replaceAll("T","s);
System.out.println(str)
;//prints Test

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

🔆تفاوت های کلاس های Mutable و Immutable
⭕️در کلاس های Mutable فیلد ها بعد از ایجاد ابجکت قابل تغییر هستند در صورتی که در کلاس های Immutable چنین چیزی ممکن نیست.

⭕️کلاس های Mutable دارای متد هایی برای تغییر مقادیر فیلد ها مانند setter & getter هستند. در صورتی که کلاس های Immutable فقط دارای متد های getter میباشند.

⁉️چرا بعضی از کلاس ها Immutable هستند و یا چرا باید باشند؟
- همانطور که گفتیم مقادیر این کلاس ها غیر قابل تغییر است و از لحاظ مدیریت حافظه بصرفه است.
- کلاس های Immutable اصطلاحا Thread Safe هستند (در محیط های چند نخی (multithreading)) در واقع Thread safety به فرایند امن سازی برنامه در محیط های چند نخی گفته میشود.
🔗 نحوه ایجاد کلاس Immutable

#immutable #mutable #threadsafe #thread_safe #StringBuilder #Date #String

@pieceJava
👍3