JavaRush /جاوا بلاگ /Random-SD /ڪافي بريڪ #60. جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي....

ڪافي بريڪ #60. جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي. هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال

گروپ ۾ شايع ٿيل

جاوا ۾ ڪچرو گڏ ڪرڻ جو ڪم ڪيئن (JVM)

ذريعو: DZone

جاوا ۾ ڪچرو گڏ ڪرڻ جو عمل

جاوا گندگي گڏ ڪرڻ خودڪار طريقي سان مختص ڪري ٿو ۽ ميموري کي آزاد ڪري ٿو، تنهنڪري ڊولپرز کي ميموري کي منظم ڪرڻ لاء هڪ الڳ پروگرام لکڻ جي ضرورت ناهي، جيڪو جاوا ۾ پروگرامنگ جي مکيه فائدن مان هڪ آهي. هر وقت هڪ جاوا پروگرام JVM تي هلندو آهي، شيون ڍير تي ٺاهي وينديون آهن ۽ پروگرام کي مختص ڪيل ميموري جو هڪ حصو پيش ڪن ٿا. وقت سان گڏ، ڪجهه شيون وڌيڪ گهربل نه هونديون. ڪچرو گڏ ڪرڻ وارو اهي غير استعمال ٿيل شيون ڳولي ٿو ۽ انهن کي هٽائي ٿو يادگيري کي آزاد ڪرڻ لاءِ. ڪافي بريڪ #61.  جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي.  هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال - 1گاربيج ڪليڪٽر، ميموري هيپ جو جائزو وٺڻ کان پوءِ، اهو طئي ڪندو ته ڪهڙيون شيون استعمال ۾ آهن ۽ ڪهڙيون نه آهن، ۽ غير استعمال ٿيل شيون هٽائي ڇڏيون. استعمال ٿيل يا حوالو ڪيل اعتراض جو مطلب آهي ته توهان جي پروگرام جو ڪجهه حصو اڃا تائين انهي اعتراض ڏانهن اشارو برقرار رکي ٿو. جيڪڏهن هڪ اعتراض هاڻي استعمال ۾ نه آهي يا وڌيڪ حوالو نه ڏنو ويو آهي، پوء اهو هاڻي پروگرام جي ڪنهن به حصي جي حوالي نه ڪيو ويندو. اهڙيء طرح، ياداشت جيڪا هڪ غير حوالي ٿيل شئي طرفان استعمال ڪئي وئي آهي، ڪچري کي گڏ ڪرڻ سان آزاد ٿي سگهي ٿو. ڪافي بريڪ #61.  جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي.  هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال - 2ياداشت جي آزاد ٿيڻ کي ٽن مکيه عملن ذريعي بيان ڪري سگهجي ٿو:
  1. نشان لڳائڻ.
  2. عام هٽائڻ.
  3. compaction سان هٽائڻ.
نشان ھڻڻ ميموري جي حصن کي سڃاڻڻ جو عمل آھي جيڪي ڪچري جي ڪليڪٽر پاران استعمال ٿيل آھن ۽ نه آھن. ليبلنگ عام طور تي پهريون قدم آهي. عام حذف ڪرڻ واري عمل کي حذف ڪرڻ جو عمل آهي انهن شين کي جيڪو حوالو نه ڏنو ويو آهي، حوالو ڪيل شيون ۽ پوائنٽر کي خالي جاء تي ڇڏي ڏيو. Compaction Delete - غير حوالي ٿيل شين کي حذف ڪرڻ کان علاوه، اهو باقي حوالو ڪيل شيون گڏ ڪري ٿو، شيون گڏ ڪري ٿو نئين ياداشت جي مختص ڪرڻ کي تمام آسان ۽ تيز ڪرڻ لاءِ.

JVM هيپ ميموري

ڪافي بريڪ #61.  جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي.  هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال - 3

نوجوان نسل

نيون ٺهيل شيون نوجوان نسل ۾ شروع ٿينديون آهن. ان کي نرسري پڻ سڏيو ويندو آهي ڇاڪاڻ ته نيون شيون هتي رهڻ شروع ڪن ٿا. نوجوان نسل کي ايڊن اسپيس ۾ ورهايو ويو آهي، جتي سڀ نيون شيون شروع ٿينديون آهن، ۽ ٻه سروائيور اسپيس، جتي شيون هڪ ڪچري کي گڏ ڪرڻ واري چڪر ۾ رهڻ کان پوءِ عدن کان ٻاهر منتقل ٿي وينديون آهن. اهي وري ڪچرو گڏ ڪرڻ جو سبب بڻجن ٿا جڏهن شيون گڏ ڪيون وڃن ٿيون ينگ جنريشن گاربيج ڪليڪٽر. ايڊن اسپيس سڀ نيون شيون پهريون ڀيرو ايڊن اسپيس ۾ ٺهيل آهن. ننڍو ڪچرو گڏ ڪرڻ کي باهه لڳندي جڏهن اهو JVM پاران مقرر ڪيل حد تائين پهچي ويندو. ذڪر ڪيل شيون ايڊن اسپيس کان پهرين محفوظ اسپيس ('ايڊين' ۽ 'کان' -> 'کان') ڏانهن منتقل ڪيون ويون آهن. غير حوالو ٿيل شيون ختم ٿي وينديون آهن جڏهن ايڊن اسپيس کي صاف ڪيو ويندو آهي. Survivor 0 (S0) ۽ Survivor 1 (S1) ٻئي Survivor (From and to) ميدان خالي شروع ٿين ٿا. جڏهن ڪچرو گڏ ڪرڻ ٻيهر ٿئي ٿو، سڀ حوالا ڪيل شيون باقي خلا ۾ منتقل ٿي ويا آهن. جڏهن ڪچرو گڏ ڪرڻ ختم ٿئي ٿو، بچيل جايون (نالا) "کان" ۽ "کان" تبديل ڪيا ويا آهن. جيڪڏهن اڳئين گندگي گڏ ڪرڻ دوران S1 "ڪرڻ" جي ڪردار ۾ هو، هاڻي S1 مڪمل آهي ۽ "کان" بڻجي ويندو آهي. ان جي مطابق، جيڪڏهن S0 خالي آهي، پوء اهو ٿي ويندو "ڪرڻ".

پراڻي نسل

نابالغ ڪچرو گڏ ڪرڻ کان پوءِ، جڏهن پراڻو شيون هڪ خاص عمر جي حد تائين پهچن ٿيون (جديد JVMs لاءِ ڊفالٽ حد 15 ڪچري کي گڏ ڪرڻ واري چڪر تي مقرر ڪئي وئي آهي)، اهي، گهڻي وقت تائين رهندڙ شين سان گڏ، نوجوان نسل کان پراڻي نسل ڏانهن منتقل ٿين ٿيون. جيئن ته ننڍڙا ڪچرا گڏ ڪرڻ وارا پيدا ٿيندا رهندا آهن، شيون پراڻي نسل جي جاءِ ۾ منتقل ٿينديون رهنديون آهن، اهو ڀرجڻ شروع ٿيندو ۽ وڏو ڪچرو گڏ ٿيڻ لڳندو. بنيادي ڪچرو گڏ ڪرڻ تڏهن ٿيندو آهي جڏهن شيون گڏ ڪيون وينديون آهن پراڻي نسل جي گاربيج ڪليڪٽر طرفان. ڪافي بريڪ #61.  جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي.  هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال - 4

مستقل نسل

Metadata جيئن طبقن ۽ طريقن ۾ محفوظ ٿيل آهن مستقل نسل. ڪلاس جيڪي هاڻي استعمال نه ڪيا ويا آهن انهن کي گندي ڪليڪٽر طرفان هٽائي سگهجي ٿو. مڪمل ڪچرو گڏ ڪرڻ دوران، سڀني نسلن کان غير استعمال ٿيل شيون گڏ ڪيون وينديون آهن.ڪافي بريڪ #61.  جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي.  هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال - 5

ڪچرو گڏ ڪرڻ جا قسم

ڪچري جا مجموعا جيڪي ڍير جي اندر مختلف حصن کي صاف ڪن ٿا، اڪثر ڪري ننڍا، ميجر، ۽ مڪمل ڪچري جا مجموعا سڏجن ٿا. پر جيئن ته اصطلاح مائنر، ميجر ۽ مڪمل وڏي پيماني تي استعمال ڪيا ويا آهن مناسب تعريف کان سواء، اسان انهن سڀني قسمن جي ڪچري کي گڏ ڪرڻ جي وضاحت تي نظر ڪنداسين.

ننڍو ڪچرو گڏ ڪرڻ

ينگ جنريشن اسپيس مان ڪچرو گڏ ڪرڻ کي مائنر گاربيج ڪليڪشن چئبو آهي. ھن قسم جي اڏاوت ھميشه ان وقت شروع ٿيندي آھي جڏھن JVM نئين شئي لاءِ جاءِ مختص نه ڪري سگھي، يعني جڏھن ايڊن اسپيس ڀرپور ھوندي آھي. اهڙيءَ طرح، چونڊ جي شرح جيتري وڌيڪ هوندي، اوترو ئي معمولي ڪچري جو مجموعو ٿيندو آهي.

وڏو ڪچرو گڏ ڪرڻ

ميجر گاربيج ڪليڪشن صاف ڪري ٿو ٽينڊرڊ (پراڻي جاءِ). ڇاڪاڻ ته پراڻي نسل وڏي آهي، اسيمبلي نوجوان نسل جي ڀيٽ ۾ گهٽ اڪثر ٿيندي آهي. جڏهن شيون پراڻي نسل مان غائب ٿي وينديون آهن، اسان چئون ٿا ته "وڏي ڪچرو گڏ ڪرڻ" ٿي چڪو آهي. اولڊ جنريشن ڪليڪٽر اڳڪٿي ڪرڻ جي ڪوشش ڪندو جڏهن کيس گڏ ڪرڻ شروع ڪرڻو پوندو ته جيئن ينگ جنريشن جي پروموشن ناڪامين کان بچڻ لاءِ. جمع ڪندڙ پراڻي نسل جي ڀرڻ واري حد جي نگراني ڪندا آهن ۽ گڏ ڪرڻ شروع ڪندا آهن جڏهن اها حد وڌي ويندي آهي. جيڪڏهن هي حد پروموشن جي ضرورتن کي پورو ڪرڻ لاءِ ڪافي نه آهي، ته ”مڪمل ڪچرو گڏ ڪرڻ“ شروع ڪيو ويندو.

مڪمل ڪچرو گڏ ڪرڻ

مڪمل ڪچري جو مجموعو صاف ڪري ٿو سڄو گروپ - ٻنهي جوان ۽ پراڻي جڳهن کي. ڪيترائي ماڻهو ميجر (صرف پراڻي نسل) ۽ مڪمل GC (نوجوان + OLD (هيپ)) جي وچ ۾ پريشان آهن. مڪمل ڪچرو گڏ ڪرڻ ۾ شامل آهي سڀني جاندار شين جي واڌاري نوجوان کان پراڻي نسل تائين گڏ ڪرڻ ۽ پراڻي نسل کي گڏ ڪرڻ کان پوءِ. هڪ مڪمل ڪچرو گڏ ڪرڻ اسٽاپ-دي-ورلڊ لاءِ هڪ اسٽاپ هوندو. اهو يقيني بڻائي ٿو ته نيون شيون مختص نه ڪيون ويون آهن ۽ اهي شيون ناقابل رسائي نٿا ٿين جڏهن ڪليڪٽر هلائي رهيو آهي.

هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال

ذريعو: Dev.to Spring Framework جاوا پليٽ فارم لاءِ هڪ آفاقي فريم ورڪ آهي. ان جي بنيادي ڪارڪردگي ڪنهن به جاوا ايپليڪيشن طرفان استعمال ڪري سگهجي ٿي، ۽ جاوا EE-بنياد ويب ايپليڪيشن ٺاهڻ لاءِ واڌايون آهن. هتي بهار جي ڪوڊنگ سان لاڳاپيل انٽرويو سوالن ۽ جوابن جي هڪ فهرست آهي. اسان کي اميد آهي ته اهي 2021 ۾ توهان جي ٽيڪنيڪل انٽرويو لاءِ تيار ڪرڻ ۾ مدد ڪندا.ڪافي بريڪ #61.  جاوا (JVM) ۾ ڪچرو گڏ ڪرڻ ڪيئن ڪم ڪندو آهي.  هڪ ٽيڪنيڪل انٽرويو ۾ بهار بابت 15 اهم سوال - 6

1. بهار ڇا آهي؟

جواب: اسپرنگ هڪ اوپن سورس فريم ورڪ آهي جاوا ايپليڪيشنن کي ترقي ڪرڻ لاءِ. اسپرنگ فريم ورڪ جون بنيادي خاصيتون ڪنهن به جاوا ايپليڪيشن کي ڊولپ ڪرڻ لاءِ استعمال ڪري سگھجن ٿيون، ۽ جاوا اي اي پليٽ فارم تي ٻڌل ويب ايپليڪيشن ٺاهڻ لاءِ ايڪسٽينشن پڻ موجود آهن. اسپرنگ فريم ورڪ جو مقصد J2EE کي ڊولپمينٽ ۾ استعمال ڪرڻ آسان بنائڻ ۽ پروگرامنگ جي طريقن کي بهتر بنائڻ آهي POJO (Plain Old Java Object) تي ٻڌل ماڊل شامل ڪري.

2. اسپرنگ فريم ورڪ ۾ بينن جو ڊفالٽ اسڪوپ ڇا آهي؟

جواب: بينن جو ڊفالٽ اسڪوپ سنگلٽن (ڊزائن جو نمونو) آهي.

3. بيئن وائرنگ ڇا آهي؟

جواب: بين وائرنگ هڪ اسپرنگ ڪنٽينر ۾ ايپليڪيشن اجزاء (بين) جي وچ ۾ ايسوسيئيشن ٺاهڻ جو عمل آهي.

4. اسپرنگ سيڪيورٽي ڇا آهي؟

جواب: اسپرنگ سيڪيورٽي اسپرنگ فريم ورڪ جو هڪ الڳ ماڊل آهي جيڪو جاوا ايپليڪيشنن کي تصديق ۽ اختيار ڏيڻ جا طريقا مهيا ڪرڻ تي ڌيان ڏئي ٿو. اهو سڀ کان وڌيڪ عام سيڪيورٽي خطرن کي پڻ حل ڪري ٿو جهڙوڪ CSRF حملا. ويب ايپليڪيشنن ۾ اسپرنگ سيڪيورٽي کي استعمال ڪرڻ لاءِ، توهان هڪ سادي تشريح سان شروع ڪري سگهو ٿا: @EnableWebSecurity.

5. بيئن جي وصف ۾ ڇا شامل آهي؟

جواب: هڪ بين جي تعريف ۾ معلومات شامل آهي جنهن کي configuration metadata سڏيو ويندو آهي جنهن کي ڪنٽينر کي هيٺين ڄاڻڻ جي ضرورت آهي:
  • ٻوٽو ڪيئن ٺاهيو؛
  • ڀاڄين جي حياتياتي تفصيل؛
  • ڀاڄيون انحصار.

6. اسپرنگ بوٽ ڇا آهي؟

جواب: اسپرنگ بوٽ ھڪڙو پروجيڪٽ آھي جيڪو اڳ ۾ ترتيب ڏنل فريم ورڪ جو ھڪڙو سيٽ مهيا ڪري ٿو بوائلر پليٽ جي ترتيب کي گھٽائڻ لاءِ ته جيئن توھان حاصل ڪري سگھوٿا اسپرنگ ايپليڪيشن اپ ۽ گھٽ ۾ گھٽ ڪوڊ سان ھلائي.

7. DispatcherServlet ڇا آهي ۽ اهو ڇا لاءِ استعمال ٿيندو آهي؟

جواب: DispatcherServlet فرنٽ ڪنٽرولر ڊيزائن جي نمونن جو هڪ نفاذ آهي جيڪو اسپرنگ MVC ايپليڪيشن لاءِ سڀني ايندڙ ويب درخواستن کي سنڀاليندو آهي. فرنٽ ڪنٽرولر نمونو (انٽرپرائز ايپليڪيشن ڊيزائن پيٽرن) ويب ايپليڪيشنن ۾ ھڪڙو عام نمونو آھي جنھن جو ڪم آھي پوري درخواست کي کڻڻ ۽ ان کي اصل پروسيسنگ لاءِ ايپليڪيشن جي مختلف حصن ڏانھن رستو ڏيڻ. بهار ۾ MVC DispatcherServlet استعمال ڪيو ويندو آهي صحيح ڪنٽرولر ڳولڻ لاءِ درخواست کي سنڀالڻ لاءِ. هي هينڊلر ميپنگ استعمال ڪندي ڪيو ويندو آهي: مثال طور، @RequestMapping تشريح.

8. ڇا اسپرنگ-mvc.jar جي ڪلاس پاٿ تي ضرورت آھي يا اھو اسپرنگ-ڪور جو حصو آھي؟

جواب: Spring-mvc.jar spring-core جو حصو آھي، جنھن جو مطلب آھي ته جيڪڏھن توھان پنھنجي جاوا پروجيڪٽ ۾ Spring MVC فريم ورڪ استعمال ڪرڻ چاھيو ٿا، ته توھان کي پنھنجي ايپليڪيشن جي ڪلاس پاٿ ۾ spring-mvc.jar کي شامل ڪرڻ گھرجي. جاوا ويب ايپليڪيشن ۾، spring-mvc.jar عام طور تي /WEB-INF/lib فولڊر ۾ رکيل آهي.

9. اسپرنگ استعمال ڪرڻ جا ڪهڙا فائدا آهن؟

جواب: هيٺ بهار جي فريم ورڪ کي استعمال ڪرڻ جي ڪجهه فائدن جي هڪ فهرست آهي:
  • هلڪو وزن - بهار نسبتا ہلڪو وزن آهي جڏهن اهو سائيز ۽ شفافيت تي اچي ٿو. اسپرنگ فريم ورڪ جو بنيادي نسخو اٽڪل 2 MB آهي.
  • Inversion of Control (IOC) - لوز ڪپلنگ بهار ۾ حاصل ڪئي ويندي آهي انورسيشن آف ڪنٽرول ٽيڪنڪ استعمال ڪندي. شيون پنهنجي انحصار مهيا ڪن ٿيون بجاءِ انحصار ڪيل شيون ٺاهڻ يا ڳولڻ جي.
  • Aspect-Oriented - اسپرنگ اسپيڪٽ تي مبني پروگرامنگ کي سپورٽ ڪري ٿو ۽ سسٽم سروسز مان ايپليڪيشن ڪاروباري منطق کي ختم ڪندي مسلسل ترقي کي يقيني بڻائي ٿو.
  • ڪنٽينر - اسپرنگ ڪنٽينر شيون ٺاهي ٿو، انهن کي گڏ ڪري ٿو، انهن کي ترتيب ڏئي ٿو، ۽ انهن کي ترتيب ڏيڻ کان وٺي نيڪال تائين منظم ڪري ٿو.
  • MVC فريم ورڪ - اسپرنگ ويب فريم ورڪ هڪ سٺو ٺهيل MVC ويب فريم ورڪ آهي جيڪو ويب فريم ورڪ جهڙوڪ Struts يا ٻيون حد کان وڌيڪ ٺهيل يا گهٽ مشهور ويب فريم ورڪ جو متبادل مهيا ڪري ٿو.
  • ٽرانزيڪشن مئنيجمينٽ - اسپرنگ ۾ هڪ مسلسل ٽرانزيڪشن مينيجمينٽ انٽرفيس آهي جيڪو مقامي ٽرانزيڪشن (مثال طور هڪ واحد ڊيٽابيس استعمال ڪندي) يا عالمي ٽرانزيڪشن (مثال طور JTA استعمال ڪندي) کي ماپ ڪري سگھي ٿو.
  • استثنا سنڀالڻ - اسپرنگ ٽيڪنالاجي مخصوص استثناءَ کي تبديل ڪرڻ لاءِ هڪ آسان API مهيا ڪري ٿو (جهڙوڪ جيڪي JDBC، Hibernate، يا JDO پاران اڇلايا ويا آهن) مسلسل، اڻ چيڪ ٿيل استثنان ۾.

10. بهار جون ڀاڄيون ڇا آهن؟

جواب: اسپرنگ بينز شين جا مثال آهن جن کي اسپرنگ ڪنٽينر ذريعي منظم ڪيو ويندو آهي. اهي ٺاهيا ويا آهن ۽ فريم ورڪ سان ڳنڍيل آهن ۽ هڪ "آبجڪٽ بيگ" (ڪنٽينر) ۾ رکيل آهن جتان توهان بعد ۾ انهن کي ٻيهر حاصل ڪري سگهو ٿا. وائرنگ اهو آهي جيڪو انحصار انجيڪشن ٺاهي ٿو. هن جو مطلب اهو آهي ته توهان صرف چئي سگهو ٿا، "مون کي هن شيء جي ضرورت آهي،" ۽ فريم ورڪ انهي اعتراض کي حاصل ڪرڻ لاء ڪجهه ضابطن تي عمل ڪندو.

11. ڪور ڪنٽينر ماڊل جو مقصد ڇا آهي؟

جواب: ڪنٽينر ڪنٽينر اسپرنگ فريم ورڪ جي بنيادي ڪارڪردگي مهيا ڪري ٿو. مکيه ڪنٽينر جو بنيادي حصو BeanFactory آهي، فيڪٽري جي نموني جو هڪ نفاذ. BeanFactory اصل ايپليڪيشن ڪوڊ کان ترتيب ۽ ايپليڪيشن جي وضاحت جي انحصار کي الڳ ڪرڻ لاءِ انوائريشن ڪنٽرول استعمال ڪري ٿو.

12. ايپليڪيشن جي حوالي سان ڇا آهي؟

جواب: پهرين نظر ۾، اپليڪيشن جي حوالي سان ساڳيو ئي آهي جيئن ته بين فيڪٽري. ٻئي لوڊ شيرين جي وصفن کي، بنڊل بينن کي گڏ ڪريو، ۽ انهن کي درخواست تي ورهايو. پر اهو پڻ مهيا ڪري ٿو:
  • ٽيڪسٽ پيغامن کي حل ڪرڻ لاءِ هڪ اوزار، بشمول بين الاقواميت جي حمايت.
  • فائل وسيلن کي لوڊ ڪرڻ لاء هڪ عام طريقو.
  • شينهن لاءِ واقعا جيڪي ٻڌندڙن جي طور تي رجسٽر ٿيل آهن.

13. Java Server Faces (JSF) کي اسپرنگ سان ڪيئن ضم ڪجي؟

جواب: JSF ۽ اسپرنگ ڪجھ ساڳين خصوصيتن کي حصيداري ڪندا آھن، خاص طور تي ڪنٽرول سروسز جي Inversion جي علائقي ۾. faces-config.xml configuration فائل ۾ JSF منظم ٿيل بينن جو اعلان ڪندي، توھان FacesServlet کي اجازت ڏيو ٿا ته اھو بين شروع ڪرڻ تي. توهان جي JSF صفحن کي انهن شين ۽ انهن جي سڀني ملڪيتن تائين رسائي آهي. JSF ۽ Spring ٻن طريقن سان ضم ٿي سگھن ٿا: DelegatingVariableResolver : اسپرنگ ھڪڙو JSF متغير حل ڪندڙ سان گڏ اچي ٿو جيڪو توھان کي JSF ۽ اسپرنگ کي گڏ ڪرڻ جي اجازت ڏئي ٿو. DelegatingVariableResolver پھرين ھيٺين JSF عمل درآمد جي ڊفالٽ مترجم کي قدرن جي تلاش کي، ۽ پوءِ بهار جي WebApplicationContext جي ”ڪاروباري تناظر“ ڏانھن موڪلي ٿو. اهو آسان بڻائي ٿو انحصار کي JSF-منظم ٿيل بينن ۾ داخل ڪرڻ. FacesContextUtils : هڪ حسب ضرورت VariableResolver سٺو ڪم ڪري ٿو جڏهن ان جي ملڪيتن کي faces-config.xml ۾ ميپ ڪري ٿو. پر جيڪڏهن توهان کي بين کي پڪڙڻ جي ضرورت آهي، FacesContextUtils ڪلاس ان کي آسان بڻائي ٿو. اهو WebApplicationContextUtils سان ملندڙ جلندڙ آهي سواءِ ان جي ته اهو ServletContext پيٽرول جي بجاءِ FacesContext پيٽرول کي قبول ڪري ٿو.
ApplicationContext ctx = FacesContextUtils.getWebApplicationContext (FacesContext.getCurrentInstance ());

14. اسپرنگ MVC فريم ورڪ ڇا آهي؟

جواب: The Spring Web MVC فريم ورڪ مهيا ڪري ٿو ماڊل-ويو-ڪنٽرولر آرڪيٽيڪچر ۽ اڳ ۾ ٺهيل اجزاء جيڪي لچڪدار ۽ لوز سان جوڙيل ويب ايپليڪيشنز کي ترقي ڪرڻ لاءِ استعمال ڪري سگھجن ٿا. MVC نموني جا نتيجا هڪ ايپليڪيشن جي مختلف پهلوئن (انپٽ منطق، ڪاروباري منطق، ۽ UI منطق) جي علحدگيءَ ۾ آهن جڏهن ته انهن عناصرن جي وچ ۾ لوز ڪپلنگ جي اجازت ڏئي ٿي.

15. بهار ۾ ايونٽ هينڊلنگ ڪيئن ڪم ڪندو آهي؟

جواب: ApplicationContext ۾ پروسيسنگ مهيا ڪئي وئي آهي ApplicationEvent ڪلاس ۽ ApplicationListener انٽرفيس ذريعي . اهو آهي، جيڪڏهن هڪ بين لاڳو ٿئي ٿي ApplicationListener ، پوءِ هر ڀيري ApplicationEvent شايع ٿئي ٿي ApplicationContext تي ، اها بين رجسٽر ٿيل آهي. پڙهڻ لاء مهرباني ۽ توهان جي ٽيڪنيڪل انٽرويو سان سٺي قسمت!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION