CodeGym /جاوا بلاگ /Random-SD /جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن...
John Squirrels
سطح
San Francisco

جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا. حصو 8

گروپ ۾ شايع ٿيل
عمل يا نظريو؟ ڇا وڌيڪ ضروري آهي؟ ڪيترائي ماڻهو قدرتي طور تي چوندا ته مشق وڌيڪ ضروري آهي. پسند ڪريو، مشق جيستائين سج لهي وڃي ۽ توهان خوش ٿيندؤ. مان هن سان اختلاف ڪرڻ جي جرئت ڪندس. جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 1انٽرويو دوران، ڪنهن کي به خبر نه پوندي ته توهان ڪيترو ٿڌو آهيو جڏهن توهان مشق ڪري رهيا آهيو. ان جي بدران، توهان کي چيو ويندو ته توهان جي نظرياتي چپس جو مظاهرو ڪيو وڃي. اهو ان وقت تائين نه ٿيندو جيستائين توهان انٽرويو جي سڀني پرتن کي ماضي ۾ حاصل ڪيو ۽ هڪ منصوبي تي مقرر ڪيو وڃي، ته توهان پنهنجي عملي صلاحيتن کي لاڳو ڪندا. توهان شايد اعتراض ڪري سگهون ٿا، ڪڏهن ڪڏهن اهي توهان کي هڪ امتحان جو ڪم ڏين ٿا، تنهنڪري مشق اڃا تائين گهربل آهي. مان متفق نه آهيان، پر منهنجو نقطو اهو آهي ته اهو ڪڏهن ڪڏهن آهي، پر توهان کي هميشه هڪ انٽرويو ۾ نظريي جي علم جو مظاهرو ڪرڻو پوندو. ڇا توهان فرق محسوس ڪندا آهيو؟ هن سڀني جو مطلب اهو آهي ته توهان کي توهان جي پيرن هيٺان هڪ مضبوط نظرياتي بنياد هجڻ گهرجي، ۽ اهو ئي آهي جيڪو اسان اڄ تائين جاري رکڻ وارا آهيون. وڌيڪ خاص طور تي، اسان انهن سوالن تي نظر رکون ٿا جيڪي اڪثر انٽرويو ۾ پڇيا ويندا آهن.

71. جيڪڏهن اسان Enum جي toString() طريقي کي اوور رائڊ نه ڪندا ته ڇا ٿيندو؟

فرض ڪريو اسان وٽ ھيٺ ڏنل اينم آھي :
public enum Role {
   STUDENT,
   TEACHER,
   DIRECTOR,
   SECURITY_GUARD;
}
اچو ته شاگرد فيلڊ کي ڪنسول تي ڏيکاريون ان جي toString() طريقي سان ڪال ڪندي:
System.out.println(Role.STUDENT.toString());
نتيجي طور، اسان ھيٺ ڏنل ڪنسول ٻاھر حاصل ڪندا آھيون:
شاگرد
اهڙيءَ طرح، اسان ڏسون ٿا ته هڪ enum لاءِ، toString() جو ڊفالٽ عمل مستقل جو نالو واپس ڪري ٿو.

72. ڇا توھان Enum اندر ھڪڙي ٺاھيندڙ جو اعلان ڪري سگھو ٿا؟

ها بلڪل. تعمير ڪندڙ اهو آهي جيڪو اينيم جي اندروني شعبن جي قيمتن کي سيٽ ڪري ٿو . مثال طور، اچو ته پوئين enum ( ageFrom ۽ ageTo ) ۾ ٻه شعبا شامل ڪريون هر ڪردار جي عمر جي حد کي ظاهر ڪرڻ لاءِ:
public enum Role {
   STUDENT(5,18),
   TEACHER(20,60),
   DIRECTOR(40,70),
   SECURITY_GUARD(18,50);

   int ageFrom;
   int ageTo;

   Role(int ageFrom, int ageTo) {
       this.ageFrom = ageFrom;
       this.ageTo = ageTo;
   }
}

73. == ۽ برابر () جي وچ ۾ ڇا فرق آهي؟

اھو ھڪڙو عام انٽرويو سوالن مان آھي جيڪي جاوا ڊولپرز کان پڇيا ويا آھن. شروع ڪرڻ لاءِ، جڏهن سادو قدرن جو مقابلو ڪيو وڃي ( int , char , double ...)، اسان استعمال ڪريون ٿا == ، ڇاڪاڻ ته اهي متغير ڪنڪريٽ قدرن تي مشتمل آهن جن جو سڌو سنئون مقابلو ڪري سگهجي ٿو. وڌيڪ ڇا آهي، پرائمري متغير مڪمل شيون نه آهن - اهي آبجیکٹ ڪلاس جو وارث نه آهن ۽ نه برابر () طريقو آهي. جيڪڏهن اسان متغيرن جي مقابلي جي باري ۾ ڳالهائي رهيا آهيون جيڪي شيون ڏانهن اشارو ڪن ٿا، پوء اسان کي ڄاڻڻ جي ضرورت آهي ته == صرف حوالن جي قيمت جي ڀيٽ ۾، يعني ڇا اهي ساڳيا اعتراض ڏانهن اشارو ڪن ٿا يا نه. ايستائين جو هڪ شئي ۾ موجود سموري ڊيٽا ٻئي هڪ جي سڀني ڊيٽا سان هڪجهڙائي رکي ٿي، استعمال ڪرڻ سان == مقابلي لاءِ ناڪاري نتيجو نڪرندو ( غلط )، ڇاڪاڻ ته اهي الڳ شيون آهن. جيئن توهان اندازو لڳايو هوندو، اسان استعمال ڪندا آهيون equals() طريقو ريفرنس متغيرن جي مقابلي لاءِ. هي هڪ آهي آبجیکٹ ڪلاس جي معياري طريقن مان، ۽ ضروري آهي ته شين جي مڪمل مقابلي لاءِ. پر مون کي فوري طور تي چوڻ جي ضرورت آهي ته هن طريقي سان صحيح ڪم ڪرڻ لاء، اهو ظاهر ڪرڻ گهرجي ته شين جي مقابلي ۾ ڪيئن هجڻ گهرجي. جيڪڏهن توهان طريقي کي اوور رائڊ نه ٿا ڪريو، ته پوءِ توهان کي ڊفالٽ عمل درآمد ملندو، جيڪو استعمال ڪندي شين جو مقابلو ڪيو == . IntelliJ IDEA ۾، توهان IDEA شارٽ ڪٽ استعمال ڪندي خودڪار طريقي سان ختم ڪري سگھو ٿا: Alt+Insert . ونڊو ۾ جيڪو ظاهر ٿئي ٿو، چونڊيو equals() ۽ hashCode() . پوءِ انھن شعبن کي چونڊيو جيڪي شامل ٿيڻ گهرجن. وائيلا! طريقا خودڪار طريقي سان لاڳو ٿين ٿا. هتي هڪ مثال آهي ته ڪيئن هڪ خود بخود پيدا ٿيل برابر طريقو ٻن شعبن سان گڏ سڀ کان آسان ممڪن Cat ڪلاس لاء نظر اچي ٿو - int age ۽ String name :
@Override
public boolean equals(final Object o) {
   if (this == o) return true;
   if (o == null || this.getClass() != o.getClass()) return false;
   final Cat cat = (Cat) o;
   return this.age == cat.age &&
           Objects.equals(this.name, cat.name);
}
جڏهن اهو اچي ٿو enum ، اتي ڪو عملي فرق ناهي == ۽ برابر () جي وچ ۾ . جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 2سڀ کان پوء، هڪ اينيم اسٽوريج رکي ٿو، ۽ جيتوڻيڪ جڏهن اسين هڪجهڙائي واري قدرن جو مقابلو ڪندا آهيون == استعمال ڪندي ، اسان حاصل ڪنداسين true ، ڇو ته مقابلي ۾ حوالا هميشه ساڳئي شين ڏانهن اشارو ڪندا. ۽ استعمال ڪرڻ برابر () اسان کي صحيح نتيجو پڻ حاصل ڪري ٿو. جيڪڏهن توهان Enum جي برابري واري طريقي جي جسم ۾ وڃو ، توهان ڏسندا ته اينم ڪلاس هيٺ ڏنل عمل آهي: اندر اسان حوالن جو هڪ سٺو پراڻو مقابلو ڏسي سگهون ٿا! اختصار ڪرڻ لاءِ، enum s لاءِ، اسان ٻنهي == ۽ equals() کي استعمال ڪندي صحيح نموني سان مقابلو ڪري سگھون ٿا . جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 3جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 4

74. Enum جو ordinal() طريقو ڇا ڪندو؟

جڏهن اسان هڪ اينيم فيلڊ تي int ordinal() طريقو سڏين ٿا ، اسان حاصل ڪندا آهيون صفر جي بنياد تي انڊيڪس اينيم جي فهرست ۾. اچو ته هن طريقي کي رول اينم ۾ فيلڊ تي سڏين ، جنهن کي اسان اڳ ۾ سمجهيو آهي:
System.out.println(Role.DIRECTOR.ordinal());
انهي جي مطابق، ڪنسول ڏيکاري ٿو:
2

75. ڇا Enum جاوا ۾ TreeSet يا TreeMap سان استعمال ڪري سگھجي ٿو؟

اسان Enum قسم استعمال ڪري سگھون ٿا TreeSet ۽ TreeMap ۾ . ۽ اسان هي لکي سگهون ٿا:
TreeSet<Role> treeSet = new TreeSet<>();
treeSet.add(Role.SECURITY_GUARD);
treeSet.add(Role.DIRECTOR);
treeSet.add(Role.TEACHER);
treeSet.add(Role.STUDENT);
treeSet.forEach(System.out::println);
۽ ڪنسول ڏيکاريندو:
اسٽوڊنٽ ٽيچر ڊائريڪٽر SECURITY_GUARD
اسان کي پيداوار ملي، پر الفابيٽ سان نه. نقطو اهو آهي ته جيڪڏهن اسان اينم فيلڊس استعمال ڪندا آهيون TreeSet قدرن جي طور تي يا TreeMap ڪنجين جي طور تي، پوء فيلڊ کي ترتيب ڏنو ويو آهي انهن جي قدرتي ترتيب ۾ (جنهن ۾ اهي اينم ۾ بيان ڪيل آهن ) . اهو سمجهڻ ته اهو ڪيئن ڪم ڪري ٿو اسان کي بهتر ڪوڊ لکڻ ۾ مدد ڪري ٿي.

76. Enum جا ordinal() ۽ compareTo() طريقا ڪيئن لاڳاپيل آهن؟

جيئن اڳ بيان ڪيو ويو آهي، آرڊينل () اينيم فيلڊ جي لسٽ ۾ فيلڊ جي انڊيڪس واپسي. انهي سان گڏ، اسان جي پوئين سوال جي غور ۾، توهان ڏٺو ته جڏهن اينم فيلڊ کي ٽري سيٽ (جيڪو هڪ ترتيب ڏنل سيٽ آهي) ۾ رکيل آهي، اهي ترتيب تي وٺن ٿا جنهن ۾ اهي اينم ۾ اعلان ڪيا ويا آهن . ۽ جيئن اسان ڄاڻون ٿا، TreeSet ۽ TreeMap شيون ترتيب ڏيو compareTo() طريقي سان انهن جي مقابلي واري انٽرفيس کي ڪال ڪندي . اهو اسان کي ٻڌائي ٿو ته اينم ڪلاس Comparable انٽرفيس کي لاڳو ڪري ٿو، جنهن جو مطلب آهي ته اهو compareTo() طريقو لاڳو ڪري ٿو، جيڪو اندروني طور تي ترتيب ڏيڻ لاءِ ordinal() طريقو استعمال ڪري ٿو. Enum ڪلاس ۾ وڃڻ سان ، اسان اسان جي مفروضي جي تصديق ڪري سگھون ٿا: جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 5۽ ھتي آھي پاڻ طريقي جو جسم: جاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 6ordinal () طريقو ھتي نه سڏيو ويندو آھي. ان جي بدران، آرڊينل متغير استعمال ڪيو ويندو آهي، جيڪو ڳڻپ ۾ عنصر جو انڊيڪس نمبر آهي. ordinal () طريقو خود آرڊينلجاوا ڊولپر پوزيشن لاءِ نوڪري جي انٽرويو کان سوالن ۽ جوابن جي ڳولا.  حصو 8 - 7 متغير لاءِ حاصل ڪرڻ کان وڌيڪ ڪجھ به نه آھي .

77. Enum جو مثال لکو

مٿي ذڪر ڪيل سوالن ۾، مون اڳ ۾ ئي مثال ڏنو آهي enum s. مون کي هتي ڪوڊ نقل ڪرڻ جو ڪو سبب ناهي. مثال طور، ڏسو سوال 72 هڪ اينم ۾ تعمير ڪندڙ جي حوالي سان.

78. ڇا اينيم کي سوئچ ڪيس ۾ استعمال ڪري سگھجي ٿو؟

اهو ٿي سگهي ٿو ۽ ٿيڻ گهرجي! منهنجي تجربي کي ڏسندي، مان نوٽ ڪندس ته اينيم جي سڀ کان عام استعمالن مان هڪ آهي منطقي تعميرات جهڙوڪ سوئچ بيانن ۾. انهي صورت ۾، توهان سڀني ممڪن صورتن کي مهيا ڪري سگهو ٿا - هڪ ڀيرو توهان هر اينيم فيلڊ لاء منطق لکي ، توهان کي ڊفالٽ شق جي ضرورت ناهي ! آخرڪار، جيڪڏهن توهان String يا عددي قدر استعمال ڪريو ٿا، جهڙوڪ هڪ int ، توهان کي اڻڄاتل قدر ملي سگهي ٿي، پر اهو ناممڪن آهي enum سان . هتي اهو آهي ته هڪ سوئچ بيان مٿي ڏنل مثال وانگر نظر ايندو:
public void doSomething(Role role) {
   switch (role) {
       case STUDENT:
           // some logic for STUDENT
           break;
       case TEACHER:
           // some logic for TEACHER
           break;
       case DIRECTOR:
           // some logic for DIRECTOR
           break;
       case SECURITY_GUARD:
           // some logic for SECURITY_GUARD
           break;
   }
}

79. مان ڪيئن حاصل ڪري سگهان ٿو هڪ اينيم جا سڀ ممڪن قدر؟

جيڪڏهن توهان کي حاصل ڪرڻ جي ضرورت آهي سڀ ممڪن اينيم اقدار، اتي هڪ قدر () طريقو آهي، جيڪو اينيم لاء سڀني ممڪن قدرن جي هڪ صف کي واپس ڏئي ٿو انهن جي قدرتي ترتيب ۾ (اهو آهي، انهي ترتيب ۾ جنهن ۾ اهي بيان ڪيا ويا آهن enum ) . مثال:
Role[] roles = Role.values();
for (Role role : roles) {
   System.out.println(role);
}
اسان کي ڪنسول تي هيٺيون هونديون:
اسٽوڊنٽ ٽيچر ڊائريڪٽر SECURITY_GUARD

اسٽريم API

80. جاوا ۾ هڪ وهڪرو ڇا آهي؟

جاوا اسٽريم API ڊيٽا اسٽريم سان لهه وچڙ جو هڪ نسبتاً نئون طريقو آهي، جيڪو اسان کي وڏي ڊيٽا کي وڌيڪ آساني سان ۽ جامع طريقي سان پروسيس ڪرڻ جي اجازت ڏئي ٿو، ۽ انهي سان گڏ ڊيٽا کي پروسيس ڪرڻ لاءِ ڪجهه اسٽريم جي وچ ۾ متوازي طور تي عمل ڪرڻ، ممڪن طور تي ڪارڪردگي کي وڌائڻ.

81. ٽرانزيڪشن جي مکيه ملڪيت جا نالا

هتي جو موضوع آهي وهڪرو API، پر سوال ٽرانزيڪشن بابت آهي. هيم... پهرين، اچو ته سمجھون ته ٽرانزيڪشن ڇا آهي. هڪ ٽرانزيڪشن هڪ ڊيٽابيس تي ترتيب واري عملن جو هڪ گروپ آهي. اهو ڪم جي منطقي يونٽ جي نمائندگي ڪري ٿو. هڪ ٽرانزيڪشن مڪمل طور تي ۽ ڪاميابيءَ سان ٻين سمورو ٽرانزيڪشن جي آزاديءَ سان مڪمل ٿي سگهي ٿي، ان سان گڏ ڊيٽا جي سالميت کي برقرار رکيو وڃي، يا ان تي عمل نه ڪيو وڃي، ان صورت ۾ ان جو ڪو به اثر ناهي. ٽرانزيڪشن ۾ چار مکيه خاصيتون آهن، جن کي اسان آساني سان ياد ڪري سگهون ٿا ACID جي مخفف جي مهرباني . اچو ته ڏسون ته هن مخفف جي هر اکر جو مطلب ڇا آهي: A جو مطلب آهي Atomicity . هي ملڪيت ضمانت ڏئي ٿي ته سسٽم ۾ ڪوبه ٽرانزيڪشن جزوي طور تي انجام نه ڏنو ويو آهي. يا ته ان جا سڀئي ماتحت عمل ڪيا ويندا، يا انهن مان ڪو به عمل نه ڪيو ويندو ( سڀ يا ڪجھ به نه ). С جو مطلب آهي تسلسل . هي ملڪيت ضمانت ڏئي ٿي ته هر ڪامياب ٽرانزيڪشن صرف صحيح نتيجا انجام ڏيندو. ٻين لفظن ۾، اها ضمانت آهي ته جيڪڏهن ٽرانزيڪشن ڪامياب ٿي وڃي، پوء مخصوص ڊيٽا لاء سسٽم جي سڀني ضابطن جي فرمانبرداري ڪئي ويندي. جيڪڏهن ٽرانزيڪشن ڪامياب نه آهي، پوء اهو عمل نه ڪيو ويندو ۽ سسٽم جي ڊيٽا ان جي پوئين حالت ڏانهن موٽندي. مان اڪيلائي لاءِ بيٺو آهيان . هن ملڪيت جو مطلب آهي ته جڏهن هڪ ٽرانزيڪشن تي عمل ڪيو ويندو آهي، سمورو ٽرانزيڪشن ان جي نتيجن کي متاثر نه ڪرڻ گهرجي. هي ملڪيت وسيع وسيع آهي، تنهن ڪري، ضابطي جي طور تي، اهو جزوي طور تي لاڳو ڪيو ويو آهي، ڪجهه مخصوص سطحن جي اڪيلائي جي اجازت ڏئي ٿو جيڪي مخصوص اڪيلائي مسئلن کي حل ڪن ٿا. اسان ان تي وڌيڪ تفصيل سان بحث ڪنداسين ايندڙ سوال ۾. D جو مطلب آهي Durability . هي ملڪيت ضمانت ڏئي ٿي ته جيڪڏهن صارف کي تصديق ملي ٿي ته ٽرانزيڪشن مڪمل ٿي وئي آهي، پوء هو يقين ڪري سگهي ٿو ته تبديلين کي منسوخ نه ڪيو ويندو ڪجهه ناڪامي سبب. اهو آهي، توهان يقين ڪري سگهو ٿا ته ڪجهه آپريٽنگ سسٽم جي ناڪامي توهان جي ڊيٽا کي ڪجهه به نه ڪندي جيڪڏهن توهان اڳ ۾ ئي تصديق ڪئي آهي ته توهان جي ٽرانزيڪشن ڪاميابي سان ختم ٿي وئي آهي.

82. ٽرانزيڪشن آئسوليشن ليول ڇا آهن؟

جيئن مون اڳ ۾ چيو آهي، جڏهن اهو اچي ٿو ACID ملڪيت، اڪيلائي کي يقيني بڻائڻ هڪ وسيلا-گھڻي عمل آهي. ان جي مطابق، هي ملڪيت جزوي طور تي لاڳو ٿئي ٿو. اڪيلائي جا مختلف سطح آهن: اعليٰ سطح، ڪارڪردگي تي وڌيڪ سخت اثر. ان کان اڳ جو اسان ٽرانزيڪشن آئسوليشن جي سطح تي وڃون، اسان کي مختلف مسئلن تي غور ڪرڻ جي ضرورت آھي جيڪي ناقص ٽرانزيڪشن آئسوليشن جي ڪري پيدا ٿين ٿيون :
  • phantom reads : جڏهن ساڳي درخواست، هڪ ئي ٽرانزيڪشن ۾ هڪ کان وڌيڪ ڀيرا سڏجي ٿي، ٻئي ٽرانزيڪشن جي داخل ٿيڻ سبب مختلف نتيجا پيدا ڪري ٿي؛

  • نه ورجائي سگهڻ وارو پڙهو : جڏهن ساڳي درخواست، هڪ ئي ٽرانزيڪشن ۾ هڪ کان وڌيڪ ڀيرا سڏجي ٿي، مختلف ڊيٽا حاصل ڪري ٿي تبديلين (تازه ڪارين) جي ڪري ۽ ڪنهن ٻئي ٽرانزيڪشن ذريعي حذف ڪرڻ؛

  • گندا پڙھڻ : اڃا تائين اڻڄاتل ڊيٽا پڙھڻ جيڪا ٽرانزيڪشن طرفان شامل ڪئي وئي يا تبديل ڪئي وئي آھي ۽ بعد ۾ واپس ڦري وئي آھي؛

  • گم ٿيل تازه ڪاريون : جڏهن هڪ ڊيٽا بلاڪ هڪ ئي وقت مختلف ٽرانزيڪشن ذريعي تبديل ڪيو ويندو آهي، ۽ آخري هڪ کان سواءِ سڀ تبديليون گم ٿي وينديون آهن (ملٽي ٿريڊنگ ۾ نسل جي حالت وانگر).

جيئن ته اهو ٿئي ٿو، ٽرانزيڪشن جي اڪيلائي جي سطحن جي خصوصيت آهي ته ڪهڙي اڪيلائي جي مسئلن جي خلاف انهن جي حفاظت ڪن ٿا. اڪيلائي جي سطحن ۽ مسئلن جي ھيٺين جدول تي غور ڪريو جن جي خلاف اھي حفاظت ڪن ٿا:
اڪيلائي جي سطح پريت پڙهي ٿو ناقابل ورجائي پڙهڻ گندي پڙهي گم ٿيل اپڊيٽ
سيريز ڪرڻ جي قابل + + + +
بار بار پڙهڻ - + + +
پڙهو عزم - - + +
اڻ پڙهيل پڙهو - - - +
ڪو به نه - - - -
۽ فلپ سائڊ کي نه وساريو: اڪيلائي جي سطح جيتري وڌيڪ هوندي، اوترو ڊگھو ٽرانزيڪشن عمل ۾ وٺندو (گهڻن ٽرانزيڪشن جي متوازي عمل کي ڏنو ويو).

83. بيان ۽ تيار ڪيل بيان جي وچ ۾ ڇا فرق آهي؟

هتي اسان اوچتو تبديل ڪيو JDBC جي خصوصيتن ڏانهن منتقلي . ڪنهن به واقعي ۾، اچو ته پهرين اهو ڄاڻون ته بيان ڇا آهي. اهو هڪ اعتراض آهي جيڪو SQL سوالن کي ٺاهڻ لاء استعمال ڪيو ويندو آهي. JDBC ٽن قسمن جو استعمال ڪري ٿو: بيان ، تيار ڪيل بيان ، ۽ ڪالبل بيان . اڄ اسان CallableStatement تي غور نه ڪنداسين . ان جي بدران، اسان بيان ۽ PreparedStatement جي وچ ۾ فرق بابت ڳالهائي رهيا آهيون .
  1. بيان استعمال ڪيو ويندو آهي سادي SQL سوالن کي هلائڻ لاءِ بغير رن ٽائم ان پٽ پيٽرولن جي. PrepareStatement رن ٽائم تي ان پٽ پيٽرول کي قبول ڪري سگھي ٿو.

  2. PreparedStatement لاءِ پيرا ميٽر مقرر ڪرڻ لاءِ ، ان پٽ پيراميٽرس کي گذارش ۾ سوالن جي نشانن جي طور تي لکيو ويندو آھي، تنھنڪري اھي مختلف سيٽرز استعمال ڪندي ڪجھ قدر سان مٽائي سگھجن ٿا، جھڙوڪ setDouble() , setFloat() , setInt() , setTime() ... ھي مطلب ته توهان درخواست ۾ غلط قسم جي ڊيٽا داخل نه ڪندا.

  3. PreparedStatement precompiled آهي ۽ ڪيشنگ استعمال ڪري ٿو، تنهنڪري اهو بيان ڪيل شين جي درخواست کان ٿورو تيز ٿي سگهي ٿو . نتيجي طور، SQL بيان جيڪي بار بار عمل ڪيا ويندا آھن تيار ڪيل بيان ڪيل شيون ٺاھيا ويندا آھن ڪارڪردگي کي بهتر ڪرڻ لاءِ.

  4. بيان SQL انجيڪشن لاءِ خطرناڪ آھي، پر PreparedStatement انھن کي روڪي ٿو.

۽ انهي سان گڏ، اسان ان کي هڪ ڏينهن سڏينداسين!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION