یہ مضمون آپ کو ایک ایسے تصور سے تعارف کرائے گا جس کا نام سمورتی ہیش میپ ان کے نام سے ہے اور عملی مظاہرے کے ساتھ اس کی پیروی کریں۔ اس مضمون میں مندرجہ ذیل نکات کا احاطہ کیا جائے گا ،
- کونسیور ہینشیمپ اندرونی طور پر کیسے کام کرتا ہے؟
- دوسرا نقشہ کیوں؟
- یہ کیسے مختلف ہے؟
- کونکورینٹ ہیش میپ اور ہیش میپ کے مابین فرق
- نقصانات
جاوا میں سمورتی ہیش میپ پر اس مضمون کے ساتھ آگے بڑھ رہے ہیں
کونسیور ہینشیمپ اندرونی طور پر کیسے کام کرتا ہے؟
جاوا 5 سے کونکورینٹ ہش میپ ہیش ٹیبل کے متبادل کے طور پر متعارف کرایا گیا ہے۔ ہم یوٹیلیٹی کلاس کے طریقہ کار کا استعمال کرتے ہوئے ہم وقت ساز نقشہ بھی حاصل کرسکتے ہیں جسے ہم وقت سازی نقشہ () کہتے ہیں لیکن اس طریقہ کار میں ایک نقص ہے یعنی بہت ہی خراب کارکردگی ہے کیونکہ صرف ایک ہی دھاگے ایک وقت میں اس تک رسائی حاصل کرسکتا ہے۔ تو کونکورینٹ ہش میپ ان مسائل کو حل کرتا ہے۔
جاوا میں سمورتی ہیش میپ پر اس مضمون کے ساتھ آگے بڑھ رہے ہیں
دوسرا نقشہ کیوں؟
اگرچہ ہمارے پاس پہلے سے ہی ہش میپ ، ہیش ٹیبل موجود ہے پھر کونکورینٹ ہیش میپ کی ضرورت کیا ہے ، اس کی وجہ یہ ہے کہ وہ ایک ہی وقت میں بہتر کارکردگی مہیا کرتا ہے یہ تھریڈ سیف ہے۔
جاوا میں سمورتی ہیش میپ پر اس مضمون کے ساتھ آگے بڑھ رہے ہیں
یہ کیسے مختلف ہے؟
یہ بھی ہیشنگ پر مبنی ہے لیکن اس کی تالے کی حکمت عملی سے اس کی کارکردگی بہتر ہوئی ہے۔ ہش ٹیبل یا مطابقت پذیر ہش میپ کے برعکس ، یہ ہر طریقہ پر ایک ہی تالا کا اطلاق نہیں کرتا ہے جس میں وہ ہر طریقہ کار کے لئے الگ تالا استعمال کرتا ہے ، اس مقصد کے لئے یہ دوبارہ داخل ہونے والے تالے کا استعمال کرتا ہے۔ ہش میپ کی طرح ، کونکورینٹ ہیش میپ میں 16 بالٹیاں ہیں یعنی کنکورینٹ ہیش میپ کو 16 سے زیادہ بالٹیوں کے ساتھ بنانے کے ل it اس میں مختلف کنسٹرکٹر ہیں۔
تفصیل سے بات کرنے سے پہلے آئیے ذیل میں کچھ تصورات کا جائزہ لیں:
ہم آہنگی ہیش میپ: یہ نقشہ ہم آہنگی دھاگوں تک رسائی کی اجازت دیتا ہے۔ نقشہ کا صرف ایک حصہ جس کو طبقہ کہتے ہیں یعنی بنیادی ڈیٹا ڈھانچہ نقشہ کو شامل کرنے یا اپ ڈیٹ کرتے وقت لاک ہو رہا ہے۔ یہ بغیر تالا لگا کے ڈیٹا کو پڑھنے کیلئے ہم آہنگی دھاگے تک رسائی کی اجازت دیتا ہے۔ یہ کارکردگی کو بہتر بنانے کے ل introduced متعارف کرایا گیا تھا۔
- ہم آہنگی کی سطح: یہ ایک ایسی تعداد ہے جو متوقع طور پر تازہ کاری کرنے والے دھاگوں کی تعداد ہے۔
- لوڈ فیکٹر: یہ ایک ایسی قیمت ہے جس کا استعمال نیا سائز کرنے والے عنصر کو کنٹرول کرنے کے لئے کیا جاتا ہے۔
- ابتدائی اہلیت: یہ ایک ایسی پراپرٹی ہے جو فراہم کردہ سائز کے ساتھ نقشہ تیار کرتی ہے۔
آئیے آریگرام کے نیچے ملاحظہ کریں اور یہ سمجھنے کی کوشش کریں کہ کونکورنٹ ہش میپ کس طرح کام کرتی ہے۔
لہذا مذکورہ آریگرام میں ، ہمارے پاس 16 تالے ہیں جن میں نقشہ کے صرف ایک حصے کو لاک کیا جاتا ہے جس کی ضرورت ہوتی ہے تاکہ دوسرے طریقوں تک مختلف دھاگوں سے اس طرح کارکردگی کو بہتر بنایا جاسکے۔
ہش میپ کی طرح ، کونکورینٹ ہش میپ اسی طرح کام کرتی ہے جس میں ڈیفالٹ طور پر 16 طبقات ہوتے ہیں اور عنصر کو ہیشنگ کے ذریعہ اسٹور کرتا ہے لہذا اگر عناصر کے پاس ایک ہی ہیش ہو تو وہ منسلک فہرست کی مدد سے اوپر والے خاکے میں اسی طرح ذخیرہ کیے جاتے ہیں۔
جاوا میں سمورتی ہیش میپ پر اس مضمون کے ساتھ آگے بڑھ رہے ہیں
کونکورینٹ ہیش میپ اور ہیش میپ کے مابین فرق
ہش میپ مجموعوں سے تعلق رکھتا ہے جبکہ کونکورینٹ ہیش میپ کا تعلق کونکورینٹ کلیکشن سے ہے تاہم ان کے درمیان اور بھی بہت سارے اختلافات ہیں۔
- کونکورینٹ ہش میپ ہےتھریڈ سیف یعنیمطابقت پذیر لیکن ہش میپ غیر ہم وقت ساز ہے۔
- کونکورینٹ ہش میپ کارکردگی پر کم ہے کیونکہ یہ مطابقت پذیر ہے کیونکہ بعض اوقات دھاگوں کا انتظار کرنا پڑتا ہے لیکن ہش میپ کی کارکردگی زیادہ ہے کیونکہ یہ غیر ہم وقت ساز ہے اور کوئی بھی دھاگے بیک وقت اس تک رسائی حاصل کرسکتے ہیں۔
اگر ہم دونوں دھاگوں میں بیک وقت آبجیکٹ کے مشمولات میں ترمیم کرنے یا شامل کرنے کی کوشش کر رہے ہیں تو ہم ہم آہنگی کو تبدیل کریں گے۔ تاہم ، کونکورینٹ ہیش میپ کے معاملے میں ہم ایک ہی آپریشن کرتے ہوئے کوئی رعایت حاصل نہیں کریں گے۔
تاہم ، ہش میپ میں کلیدی اور قدروں کے لئے کلیدی اقدار کی اجازت ہے ، تاہم ، کونکورینٹ ہش میپ کلید اور قدر کے لئے ضائع شدہ اقدار کی اجازت نہیں دیتا ہے جس کی وجہ سے اس نے قدر کو شامل کرنے کی کوشش کی ہے ہم مستثنیٰ حاصل کریں گے۔
ہاشمیپ جے ڈی کے 1.2 میں متعارف کرایا گیا ہے جبکہ کونکورینٹ ہیش میپ جے ڈی کے 1.5 میں متعارف کرایا گیا ہے۔
جیسا کہ ہم نے پہلے بہتر کارکردگی کے لئے دیکھا ہے ، اس میں ٹیبل بالٹیوں کے بطور نوڈس کا ایک صف تیار ہوتا ہے جو اس سے پہلے ٹیبل سیگمنٹ تھا۔ جاوا 8 .
جب پہلی اندراج انجام دی جاتی ہے تو بالٹیاں آسانی سے شروع کی جاتی ہیں۔ بالٹی کے پہلے نوڈ کو لاک کرکے ہر بالٹی کو آزادانہ طور پر لاک کیا جاسکتا ہے پڑھنے کے آپریشن بھی بلاک نہیں ہوتے ہیں۔
اس کے مقابلے ہش میپ ، کونکورینٹ ہش میپ اضافی فراہم کرتا ہے اتفاق تخمینہ لگانے والے تھریڈز کی تعداد کو کنٹرول کرنے کے لئے استدلال۔
تعمیر کار:
کونکورینٹ ہش میپ ایم = نیا کونکورینٹ ہش میپ ()
ایک نیا خالی نقشہ 16 کی ڈیفالٹ ابتدائی گنجائش ، 0.75 کے بوجھ عنصر اور ہم آہنگی کی سطح 16 کے ساتھ تشکیل دیا گیا ہے۔
کونکورینٹ ہش میپ ایم = نیا کونکورینٹ ہیش میپ (ابتدائی صلاحیت)
ایک نیا خالی نقشہ ایک مخصوص ابتدائی صلاحیت ، 0.75 کے بوجھ عنصر اور ہم آہنگی کی سطح 16 کے ساتھ تشکیل دیا گیا ہے۔خلاصہ کلاس اور انٹرفیس کے درمیان اختلافات
کونکورینٹ ہاشپ میپ = نیا کونکورینٹ ہیش میپ (انٹیلی انشورنس صلاحیت ، فلوٹ لوڈ فیکٹر)
ایک نیا خالی نقشہ ایک متعینہ ابتدائی صلاحیت اور بوجھ عنصر کے ساتھ تیار کیا گیا ہے جس کی ہم آہنگی کی سطح 16 ہے۔
کونکورینٹ ہاشپ میپ = نیا کونکورینٹ ہش میپ (انٹیلی انشورکیسیٹی ، فلوٹ لوڈ فیکٹر ، انٹ کنورٹینسی لیول)
ایک نیا خالی نقشہ ایک مخصوص ابتدائی صلاحیت ، بوجھ عنصر اور ہم آہنگی کی سطح کے ساتھ تشکیل دیا گیا ہے۔کونکورینٹ ہش میپ ایم = نیا کونکورینٹ ہیش میپ (نقشہ میٹر)
فراہم کردہ نقشے سے نیا کونکورینٹ ہیش میپ بناتا ہے۔
دوسرے دو دلائل: ابتدائی صلاحیت اور لوڈ فیکٹر نے ہاشمیپ کی طرح کام کیا۔
کونکورینٹ میپ کثیر جہتی ماحول میں کلید / ویلیو آپریشنز کے مطابق میموری ہے۔
جاوا میں سمورتی ہیش میپ پر اس مضمون کے ساتھ آگے بڑھ رہے ہیں
نقصانات
جب چیزوں کی بازیافت کرتے ہوئے کونکورینٹ ہش میپ مسدود نہیں ہے اور یہ اپ ڈیٹ کی کارروائیوں سے دوچار ہوسکتا ہے ، اس طرح بہتر کارکردگی کے ل they وہ صرف حال ہی میں مکمل ہونے والی تازہ کاری کی کارروائیوں کو بازیافت کرتے ہیں۔
سائز ، آئسپیٹی ، اور ویلیوز سمیت مجموعی حیثیت کے طریقوں کے نتائج عام طور پر صرف اس صورت میں کارآمد ہوتے ہیں جب نقشہ دوسرے دھاگوں میں ہم آہنگی اپ ڈیٹ نہیں کر رہا ہوتا ہے۔
اگر ہم آہنگی اپ ڈیٹس کو مناسب طریقے سے کنٹرول کیا جاتا ہے تو یہ حیثیت کے طریقے قابل اعتماد ہوسکتے ہیں۔
اگرچہ یہ طریقے اصل وقت میں ضمانت نہیں دیتے۔
ڈیفالٹ ٹیبل کی گنجائش 16 ہے تاہم ہم ہم آہنگی کی سطح کا استعمال کرکے اسے تبدیل کرسکتے ہیں۔
پبلک کونکورینٹ ہاشمیپ (انٹرمینٹ کیپلیسی ، فلوٹ لوڈ فیکٹر ، انٹ کنورٹینسی لیول) {// ... اگر (ابتدائی صلاحیتاگر چابیاں کی چابیاں ترتیب دینے کی ضرورت ہوتی ہیں تو ہم ہم آہنگی اسکائپ لسٹ میپ استعمال کرسکتے ہیں۔
اب مذکورہ پروگرام کو عملی جامہ پہنانے کے بعد آپ کو جاوا میں سمورتی ہاش کا نقشہ سمجھا ہوگا۔ اس طرح ہم اس مضمون کے اختتام کو پہنچ چکے ہیں اگر آپ مزید معلومات حاصل کرنا چاہتے ہیں تو ، چیک کریں ، ایک قابل اعتماد آن لائن سیکھنے کی کمپنی۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس آپ کو ہائبرنیٹ اور اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی تصورات کی تربیت کے لئے ڈیزائن کیا گیا ہے۔
ہمارے لئے ایک سوال ہے؟ برائےکرم اس مضمون کے تبصرے والے حصے میں اس کا ذکر کریں اور ہم جلد از جلد آپ کے پاس مل جائیں گے۔