در این مقاله فرض میکنیم که شما اطلاعات حدودی از Java Collections دارید.
این سلسله مقالات که برای تکمیل مقاله Java Collections - Everything You MUST Know نوشته شده برای بهبود و درک بهتر collectionها و مواردی که به طور روزمره دارید استفاده میکنید نوشته شده لطفا تمام این دسته بندی رو برای درک بهتر مطالعه کنید .
StringBuilder vs StringBuffer vs String
یک ناحیه خاص در حافظه است که در فایل کلاس جاوا قرار دارد و شامل اطلاعات ثابت مورد نیاز برای اجرای کلاس میشود. این اطلاعات شامل رشتههای لیترالی، اعداد ثابت، ارجاعات به متدها، کلاسها و رابطها است. به عبارت سادهتر، Constant Pool یک نوع جدول نمادین برای کلاس است که به کامپایلر و ماشین مجازی جاوا کمک میکند تا در زمان اجرا به اطلاعات مورد نیاز دسترسی پیدا کنند.
بخشی از Constant Pool که به اعداد صحیح اختصاص داده شده است، Integer Constant Pool نام دارد. هنگامی که یک عدد صحیح لیترالی (مانند 10، 20، ...) در کد جاوا استفاده میشود، این عدد در Integer Constant Pool ذخیره میشود.
چرا از Integer Constant Pool استفاده میشود؟
مکانیزم کار Integer Constant Pool:
int x = 10; int y = 10;
در این مثال، هر دو متغیر x
و y
به همان عدد صحیح در Constant Pool اشاره میکنند.
تفاوت بین Integer Constant Pool و String Constant Pool:
نکات مهم:
در جاوا، اعداد صحیح اولیه (primitive) به طور خودکار به اشیاء Integer بستهبندی میشوند (boxing). این عمل ممکن است باعث شود که اعداد صحیح در Constant Pool قرار نگیرند.
در برخی پیادهسازیهای جاوا، یک کش داخلی برای اعداد صحیح کوچک وجود دارد که به بهبود عملکرد دسترسی به اعداد صحیح متداول کمک میکند.
اشیاء Integer که در Constant Pool قرار دارند، تغییرناپذیر هستند.
جمعبندی:
در نهایت اینکه Integer Constant Pool یک ویژگی مهم در جاوا است که به بهبود عملکرد و مصرف حافظه کمک میکند. درک نحوه کار Constant Pool به شما کمک میکند تا کدهای جاوا بهتری بنویسید.
منتظر نگاه های زیباتون هستم .
موفق و پیروز باشید.