جاوا میں اسٹرنگ پول کا تصور کیا ہے؟



جاوا میں اسٹرنگ پول ، جاوا ہیپ میموری میں محفوظ کردہ اسٹرنگس کا پول ہے۔ اس ٹیوٹوریل سے آپ کو جاوا اسٹرنگ پول سے متعلق تفصیلی نقطہ نظر کی مثال کے ساتھ مدد ملے گی۔

کیا آپ نے اصطلاح کے بارے میں سنا ہے؟ 'جاوا میں سٹرنگ پول؟' ٹھیک ہے ، اگر نہیں تو ، آپ صحیح جگہ پر اترے ہیں۔ جاوا میں سٹرنگ پول اسٹرنگس کا ایک پول ہے جس میں اسٹور کیا جاتا ہے ہیپ میموری آئیے ہم تھوڑا سا گہرا کھودیں اور جاوا اسٹرنگ پول کے اس تصور کو تفصیل سے سمجھیں۔

اس مضمون میں مندرجہ ذیل نکات پر تبادلہ خیال کیا جائے گا:





چلو شروع کریں!

سب سے پہلے ، آئیے ہم سمجھتے ہیں کہ کس طرح ایک تار والی چیز تیار کی جاتی ہے!



ایک تار کیسے بنائیں؟

جاوا میں اسٹرنگ آبجیکٹ بنانے کے لئے ، دو طریقے ہیں:

  • نیا آپریٹر استعمال کرنا۔ مثال کے طور پر،
اسٹرنگ s1 = نیا اسٹرنگ ('جوئی')
  • اسٹرنگ کا لفظی یا مستقل اظہار۔ مثال کے طور پر،
اسٹرنگ s1 = 'جوئی' (تار لغوی) یا اسٹرنگ s1 = 'جو' + 'y' (سٹرنگ مستقل اظہار)

اب ، یہ سٹرنگ پول کیا ہے جس کے بارے میں میں بات کر رہا ہوں اور جاوا میں اسٹرنگ کی تخلیق کیسے اس سے متعلق ہے۔ مجھے بے ترتیبی کاٹنے دو!

جاوا میں سٹرنگ پول کیا ہے؟

اسٹرنگ پول جاوا ہیپ میں ایک اسٹوریج ایریا ہے۔



جاوا میں jframe بنانے کا طریقہ

سٹرنگ مختص ، سب کی طرح اعتراض مختص ، وقت اور میموری دونوں صورتوں میں ایک مہنگا معاملہ ثابت ہوتا ہے۔ کارکردگی بڑھانے اور میموری اوور ہیڈ کو کم کرنے کے لئے JVM کچھ اقدامات انجام دیتا ہے جب اسٹرنگ لٹریلز کو شروع کرتے ہیں۔ جے وی ایم میں تیار کردہ اسٹرنگ آئٹمز کی تعداد کو کم کرنے کے لئے ، اسٹرنگ کلاس تار کے تالاب کو رکھتا ہے۔

ہر بار جب اسٹرنگ لفاظی تخلیق ہوتا ہے ، جے وی ایم پہلے سٹرنگ لٹل پول کو چیک کرتا ہے۔ اگر سٹرنگ پول میں تار پہلے ہی موجود ہے تو ، پولڈ مثال کا حوالہ واپس آجاتا ہے۔ اگر تالاب میں تار موجود نہیں ہے تو ، ایک نیا سٹرنگ آبجیکٹ شروع ہوتا ہے اور اسے تالاب میں رکھا جاتا ہے۔

نظریاتی طور پر اس تصور کو سیکھنے کے بعد ، میں آپ کو بتاتا ہوں کہ سادہ مثالوں کی مدد سے جاوا مرحلے میں ایک سٹرنگ پول کیسے کام کرتا ہے!

جاوا میں سٹرنگ پول کیسے کام کرتا ہے؟

جب آپ اس طرح ایک نیا تار تیار کرتے ہیں:

اسٹرنگ s1 = 'راہیل'

جے وی ایم خود بخود جانچ پڑتال کرتا ہے کہ آیا تار کی مستقل تالاب میں وہی قدر موجود ہے یا نہیں۔

  • اگر ہاں ، تو یہ پہلے سے موجود قدر پر قابض ہے۔
  • اگر نہیں ، تو یہ خود ہی ایک نئی تار تیار کرتا ہے اور اسے سٹرنگ پول میں شامل کرتا ہے۔

اگر آپ اس سلوک کو روکنا چاہتے ہیں تو ، نئے آپریٹر کا استعمال کرکے ایک تار تیار کریں:

اسٹرنگ s1 = نئی اسٹرنگ ('راہیل')

اب ، اگر آپ اس سٹرنگ کو اس میں شامل کرنا چاہتے ہیں ، جاوا آپ کو ایک ایسا طریقہ مہیا کرتا ہے ، جسے انٹرن () طریقہ کہا جاتا ہے جسے آپ مقامی انٹرن () طریقہ کو اس طرح سے کال کرسکتے ہیں۔

S1.intern ()

اب ، میں آپ کو ایک مثال کے ذریعے سٹرنگ پول پر عمل درآمد اور کام کرنے کا طریقہ دکھاتا ہوں۔

لیکن اس سے پہلے ، ایک مختصر یاد دہانی!

جیسا کہ آپ جانتے ہیں کہ اگر آپ == آپریٹر کا استعمال کرکے 2 اشیاء کا موازنہ کر رہے ہیں تو یہ میموری میں پتے کا موازنہ کرتا ہے۔

لہذا ہم اس بات کا یقین کرنے کے لئے کہ == کا استعمال کرتے ہوئے تار کا موازنہ کریں گے کہ یہ ایک ہی چیز ہے یا نہیں۔

آئیے ، عمل درآمد کے عمل پر ہم امید کرتے ہیں۔

جاوا میں سٹرنگ پول: فلو ڈایاگرام

سٹرنگ پول - ایڈوریکا

اب آئیے ہم یہاں قدم قدم پر کیا ہوتا ہے اس کی گرفت کرتے ہیں۔

  • جب کلاس بھری ہوئی ہے طلب کیا گیا ہے۔
  • جے وی ایم پروگرام میں سٹرنگ لٹریلز کو تلاش کرتا ہے
  • پہلے ، اس کو متغیر S1 مل جاتا ہے جو لفظی 'ایپل' سے مراد ہوتا ہے اور یہ میموری میں بن جاتا ہے
  • اس کے بعد لفظی 'ایپل' کا حوالہ اسٹرنگ مستقل پول میموری میں رکھا جاتا ہے۔
  • پھر اسے ایک اور متغیر ایس 2 ملتا ہے جس سے مراد اسی تار کے لغوی 'آم' ہیں۔
  • پھر اسے ایک اور متغیر ایس 3 مل جاتا ہے جس سے مراد لفظی 'ایپل' ہوتا ہے۔
  • اب جب کہ جے وی ایم کو پہلے ہی ایک تار لفظی 'ایپل' مل گیا ہے ، دونوں متغیرات S1 اور s3 ایک ہی چیز یعنی 'ایپل' کا حوالہ دیں گے۔

اسٹرنگ پول کے لئے جاوا پروگرام

عوامی کلاس سٹرنگ پول ایکسپیرمنٹ {عوامی جامد باطل مرکزی (سٹرنگ [] آرگس) {سٹرنگ s1 = 'راہیل' اسٹرنگ s2 = 'راہیل' اسٹرنگ s3 = نئی اسٹرنگ ('راہیل') سٹرنگ s4 = نئی اسٹرنگ ('راہیل'). انٹرن ( ) System.out.println (s1 == s2) // true System.out.println (s1 == s3) // جھوٹے System.out.println (s1 == s4) // سچ}}

آؤٹ پٹ:

سچ ہے
جھوٹا
سچ ہے

مندرجہ بالا مثال میں ، آپ تینوں طریقوں سے سٹرنگ انیشلائزیشن کے استعمال کو واضح طور پر دیکھ سکتے ہیں یعنی

سٹرنگ s1 = 'راہیل' اسٹرنگ s2 = 'راہیل' اسٹرنگ s3 = نئی اسٹرنگ ('راہیل') اسٹرنگ s4 = نئی سٹرنگ ('راہیل'). انٹرن ()

پروگرام کے اندرونی کام شاید اب واضح ہونا چاہئے۔

اس کے ساتھ ، میں اپنے بلاگ کے اختتام کی طرف پہنچ گیا ہوں۔ مجھے امید ہے کہ یہاں بیان کردہ مندرجات نے اپنے علم کی اساس کو وسیع کرنے میں آپ کی مدد کی ہے۔ ہم جاوا کی دنیا میں غوطہ لگاتے رہیں گے۔ دیکھتے رہنا!

چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور جاوا کے مختلف فریم ورکس جیسے ہیبرنٹیٹ اینڈ ایڈوانس جاوا دونوں اصولوں کے ساتھ ساتھ آپ کو تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔ بہار .

ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاوا میں اسٹرنگ پول' بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس واپس آجائیں گے۔