أفضل 130+ أسئلة وأجوبة مقابلة Java 2022
نشرت: 2021-01-01جافا أسئلة وأجوبة المقابلة
في هذه المقالة ، قمنا بتجميع أسئلة مقابلة Java الأكثر شيوعًا. ستمنحك هذه الأسئلة معرفة بنوع الأسئلة التي قد يطرحها عليك المحاور أثناء المقابلة الخاصة ببرمجة Java
بصفتك عضوًا جديدًا ، فقد حضرت للتو مقابلة أو تخطط لحضور واحدة قريبًا. باحث عن عمل على مستوى مبتدئ يتطلع إلى تنمية حياتك المهنية في برمجة البرمجيات ، قد تكون متوترًا بشأن مقابلاتك القادمة . لدينا جميعًا لحظات الذعر تلك حيث نفرغ وننسى حتى ماهية الخيط. سنقوم بتبسيطها لك ، كل ما عليك القيام به هو أخذ نفس عميق والتحقق من الأسئلة التي من المرجح أن يتم طرحها.
لا يمكنك تجنب الذعر ، ولكن يمكنك بالتأكيد أن تعد نفسك بحيث عندما تدخل غرفة المقابلة. أنت واثق من قدرتك على التعامل مع أي شيء قد يرميك المحاور لك.
تعلم برامج هندسة البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
فيما يلي قائمة مجمعة من 24 سؤالاً شاملاً للمقابلة مع إجابات Java (آخر 2022) والتي ستساعدك على اكتساب هذه الثقة ، وتضمن لك الإبحار خلال المقابلة.
1. ما كل ما تتألف منه JVM؟
JVM ، اختصار لـ Java Virtual Machine مطلوب من قبل أي نظام لتشغيل برامج Java. تتكون هندستها المعمارية بشكل أساسي من:
● Classloader: هو نظام فرعي من JVM وتتمثل وظيفته الرئيسية في تحميل ملفات الفئات كلما تم تشغيل برنامج Java.
● الكومة: هي بيانات وقت التشغيل التي تُستخدم لتخصيص الكائنات.
منطقة الفصل: تحتوي على مستوى الفصل لكل ملف فئة مثل المتغيرات الثابتة ، والبيانات الوصفية ، وتجمع التشغيل المستمر.
● Stack: يستخدم لتخزين المتغيرات المؤقتة.
● التسجيل: يحتوي السجل على عنوان تعليمات JVM الجاري تنفيذها حاليًا
● محرك التنفيذ: يتكون EE من معالج افتراضي ، ومترجم يقوم بتنفيذ التعليمات بعد قراءة الرمز الثانوي ، ومجمع JIT الذي يعمل على تحسين الأداء عندما يكون معدل التنفيذ بطيئًا.
● Java Native Interface: تعمل كوسيط اتصال للتفاعل مع تطبيق آخر تم تطويره في C و C ++ وما إلى ذلك.

2. ما هي البرمجة الشيئية؟ هل جافا لغة شيئية التوجه؟
في الأساس ، البرمجة الشيئية هي نموذج برمجة يعمل على مفهوم الأشياء. ببساطة ، الكائنات عبارة عن حاويات - تحتوي على بيانات في شكل حقول ورمز في شكل إجراءات. باتباع هذا المنطق ، فإن اللغة الموجهة للكائنات هي لغة تعمل على الكائنات والإجراءات.
نظرًا لأن Java تستخدم 8 أنواع بيانات أولية - منطقية ، بايت ، حرف ، int ، عائم ، طويل ، قصير ، مزدوج - وهي ليست كائنات ، لا يمكن اعتبار Java لغة موجهة للكائنات بنسبة 100٪.
3. ماذا تفهم بالتجميع في سياق جافا؟
التجميع هو شكل من أشكال الارتباط يتم فيه تعيين دورة الحياة الخاصة بكل كائن. ولكن ، هناك ملكية في هذا ، ولا يمكن أن ينتمي الكائن الفرعي إلى أي كائن رئيسي آخر بأي شكل من الأشكال.
4. قم بتسمية الطبقة الفائقة في Java.
Java.lang. يتم توريث جميع غير البدائية المختلفة بشكل مباشر أو غير مباشر من هذه الفئة.
5. اشرح الفرق بين "أخيرًا" و "إنهاء" في جافا؟
عند استخدامه مع كتلة try-catch ، يتم استخدام الكتلة "النهائية" لضمان تنفيذ جزء معين من التعليمات البرمجية دائمًا ، حتى إذا تم تنفيذ التنفيذ بواسطة كتلة try-catch.
في المقابل ، يعد finalize () طريقة خاصة في فئة الكائن. يتم تجاوز بشكل عام تحرير موارد النظام عند جمع قيمة غير صحيحة من الكائن.
6. ما هي الطبقة الداخلية المجهولة؟ كيف تختلف عن الطبقة الداخلية؟
تُعرف أي فئة داخلية محلية ليس لها اسم بأنها فئة داخلية مجهولة. نظرًا لأنه ليس له أي اسم ، فمن المستحيل إنشاء مُنشئه. إنه دائمًا إما يوسع فئة أو ينفذ واجهة ، ويتم تعريفه وإنشاء مثيل له في بيان واحد.
تسمى الفئة المتداخلة غير الثابتة فئة داخلية. ترتبط الفئات الداخلية بكائنات الفصل ويمكنها الوصول إلى جميع طرق ومتغيرات الفئة الخارجية.
7. ما هي فئة النظام؟
إنها فئة أساسية في Java. نظرًا لأن الفصل نهائي ، فلا يمكننا تجاوز سلوكه من خلال الميراث. لا يمكننا إنشاء مثيل لهذه الفئة لأنها لا توفر أي مُنشئين عامين. ومن ثم ، فإن جميع أساليبها ثابتة.
8. كيف تصنع الخيط الخفي في جافا؟
نستخدم فئة setDaemon (صواب) لإنشاء هذا الموضوع. نسمي هذه الطريقة قبل طريقة start () ، وإلا نحصل على IllegalThreadStateException.
9. هل تدعم Java المتغيرات العالمية؟ لماذا لماذا لا؟
لا ، لا تدعم Java المتغيرات العامة. هذا في الأساس لسببين:
● يقومون بإنشاء تصادمات في مساحة الاسم.
● يخرقون الشفافية المرجعية.
10. كيف يتم تطوير كائن RMI؟
يمكن اتخاذ الخطوات التالية لتطوير كائن RMI:
● تحديد الواجهة
● تنفيذ الواجهة
● تجميع الواجهة وتطبيقاتها باستخدام مترجم جافا
● ترجمة تنفيذ الخادم باستخدام مترجم RMI
● تشغيل تسجيل RMI
● تشغيل التطبيق
11. اشرح الفروق بين تشريح الوقت والجدولة الوقائية؟
في حالة تقسيم الوقت ، يتم تنفيذ مهمة في إطار زمني محدد - يُعرف أيضًا بالشريحة. بعد ذلك ، يدخل قائمة الانتظار الجاهزة - مجموعة من المهام "الجاهزة". ثم يختار المجدول المهمة التالية ليتم تنفيذها بناءً على الأولوية والعوامل الأخرى.
بينما في ظل الجدولة الوقائية ، يتم تنفيذ المهمة ذات الأولوية القصوى إما حتى تدخل حالات ميتة أو تحذيرية أو في حالة ظهور مهمة أخرى ذات أولوية أعلى.
12. موضوع جامع القمامة هو أي نوع من الخيط؟
إنه خيط خفي.
13. ما هي دورة حياة الخيط في جافا؟
يمر أي مؤشر ترابط في Java بالمراحل التالية في دورة حياته:
● جديد
● قابل للتشغيل
● الجري
● غير قابل للتشغيل (محظور)
● تم الإنهاء
14. اذكر الطرق المستخدمة أثناء عملية إلغاء التسلسل والتسلسل.
ObjectInputStream.readObject
يقرأ الملف ويلغي تسلسل الكائن.
ObjectOuputStream.writeObject
تسلسل الكائن واكتب الكائن المتسلسل إلى ملف.
15. ما هي المتغيرات المتقلبة وما هو الغرض منها؟
المتغيرات المتغيرة هي المتغيرات التي تقرأ دائمًا من الذاكرة الرئيسية ، وليس من ذاكرة التخزين المؤقت للخيط. يتم استخدام هذه بشكل عام أثناء المزامنة.
16. ما هي فئات المجمع في جافا؟
تحتوي جميع أنواع البيانات الأولية في Java على فئة مرتبطة بها - تُعرف باسم فئات المجمّع. تُعرف باسم فئات المجمّع لأنها "تلتف" نوع البيانات البدائي في كائن للفصل. باختصار ، يقومون بتحويل عناصر Java الأولية إلى كائنات.
17. كيف يمكننا عمل فصل فردي؟
بجعل المنشئ خاصًا.
18. ما هي أهم طرق استخدام فئة الاستثناءات في Java؟
● سلسلة getMessage ()
● سلسلة toString ()
● باطل printStackTrace ()
● getCause قابل للرمي متزامن ()
● StackTraceElement العامة [] getStackTrace ()
19. كيف يمكننا عمل الخيط في جافا؟
يمكننا اتباع أي من الطريقتين لإنشاء سلسلة رسائل في Java:
● عن طريق تمديد فئة الموضوع
عيب هذه الطريقة هو أنه لا يمكننا تمديد أي فئات أخرى لأن فئة مؤشر الترابط قد تم تمديدها بالفعل.
● من خلال تنفيذ واجهة Runnable
20. اشرح الفروق بين طريقتي get () و load ().
طرق get () و load () لها الاختلافات التالية:
● get () ترجع فارغة إذا لم يتم العثور على الكائن ، بينما يطرح load () استثناء ObjectNotFound.
● get () تُرجع دائمًا كائنًا حقيقيًا ، بينما يُرجع load () كائنًا وكيلاً.
● طريقة get () تصل دائمًا إلى قاعدة البيانات في حين أن load () لا تفعل ذلك.
● يجب استخدام get () إذا لم تكن متأكدًا من وجود مثيل ، بينما يجب استخدام load () إذا كنت متأكدًا من وجود المثيل.
21. ما هي القيمة الافتراضية للمتغيرات المحلية؟
لم تتم تهيئتها إلى أي قيمة افتراضية. لا بدائية أو مراجع كائن.
22. ما هو Singleton في جافا؟
إنها فئة ذات مثيل واحد في تطبيق Java بالكامل. على سبيل المثال ، يعتبر java.lang.Runtime فئة Singleton. الهدف الأساسي من Singleton هو التحكم في إنشاء الكائن عن طريق الحفاظ على المنشئ الخاص.
23. ما هي الطريقة الثابتة؟
يمكن استدعاء طريقة ثابتة دون الحاجة إلى إنشاء مثيل لفئة. تنتمي الطريقة الثابتة إلى الفئة بدلاً من كائن الفئة. يمكن للأسلوب الثابت الوصول إلى عضو البيانات الثابتة ويمكنه تغيير قيمته.
24. ما هو الاستثناء؟
استثناءات ظروف غير عادية أثناء البرنامج. قد يكون هذا بسبب منطق غير صحيح مكتوب بواسطة إدخال مستخدم أو مبرمج غير صحيح.
25. بعبارات بسيطة ، كيف تعرف جافا؟
Java عبارة عن مدخل عالي المستوى ، مستقل عن النظام الأساسي ، موجه للكائنات ، ويقدم دعمًا بأداء عالٍ لبناء برامج وتطبيقات ومواقع متطورة. Java هي لغة برمجة للأغراض العامة تمكن المطورين من بناء تطبيقات وظيفية غنية بالكتابة بمجرد تشغيلها في أي مكان (WORA). قام جيمس آرثر جوسلينج ، عالم كمبيوتر من كندا ، بتطوير Java في عام 1991 والمعروف باسم "دكتور جافا". اليوم ، أصبحت Java أساسًا أساسيًا لصناعة تكنولوجيا المعلومات الحديثة.
26 . ما هو Java String Pool؟
يعد String Pool في Java مكانًا مميزًا يحتوي على مجموعة من السلاسل المخزنة عبر Java Heap Memory. هنا ، تمثل String فئة خاصة في Java ، ويمكن إنشاء كائنات سلسلة باستخدام إما عامل تشغيل جديد أو باستخدام قيم بين علامتي اقتباس.
السلسلة غير قابلة للتغيير في Java ، مما يجعل عملية تجميع String ثم التنفيذ الإضافي عبر مفاهيم String الداخلية.
27. ما هي فئة المجموعة في جافا؟ قائمة بأساليبها وواجهات؟
تعد فئات مجموعة Java عبارة عن فئات خاصة يتم استخدامها حصريًا مع الطرق الثابتة التي تعمل بشكل خاص على مجموعات المرتجعات. ترث مجموعة Java بشكل افتراضي فئة ولديها ميزتان أساسيتان على النحو التالي:
- إنهم يدعمون ويعملون باستخدام خوارزميات متعددة الأشكال تعيد مجموعات جديدة لكل مجموعة محددة.
- تقوم الطرق في مجموعة Java بإلقاء NullPointerException في حالة احتواء كائنات الفئة أو المجموعات على قيمة خالية Null.
يتم تمثيلها والإعلان عنها كـ Java.util.Collectionclass.
هناك أكثر من 60 طريقة ومُعدِلات وأنواع فئات مجموعة Java Collection. فيما يلي قائمة بأهم الطرق في Java Collection Class:
S. لا. | المعدل والطريقة والنوع | وصف |
1. | ثابت <T> منطقي addAll () | تسمح هذه الطريقة بإضافة عناصر محددة إلى مجموعة معينة. |
2. | ثابت <T> قائمة الانتظار <T> asLifoQueue () | تسمح هذه الطريقة بإدراج المجموعة كـ Last-in-First-out (LIFO) في العرض. |
3. | ثابت <T> int binarySearch () | تسمح هذه الطريقة بالبحث عن كائن معين ثم إرجاعهم في قائمة مرتبة. |
4. | ثابت مجموعة <E> <E> | تقوم هذه الطريقة بإرجاع العرض الديناميكي من أي مجموعة معينة. |
5. | ثابت <E> قائمة <E> | تعطي هذه الطريقة عودة لطريقة عرض آمنة للطباعة الديناميكية من قائمة معينة. |
فيما يلي بعض الأمثلة على مجموعة Java:
مجموعة Java Collection min () مثال:
1 2 3 4 5 6 7 8 9 10 11 12 | استيراد java.util. * ؛ مجموعات فئة عامة مثال { العامة الثابتة الفراغ الرئيسي ( سلسلة أ []) { List < Integer > list = new ArrayList < Integer > ()؛ قائمة جديدة قائمة . add ( 90 ) ؛ قائمة . add ( 80 ) ؛ قائمة . add ( 76 ) ؛ قائمة . add ( 58 ) ؛ قائمة . add ( 12 ) ؛ النظام . خارج . println ( "عنصر القيمة الدنيا في المجموعة:" + المجموعات . min ( list ))؛ } } |
سيكون الإخراج:
الحد الأدنى لعنصر القيمة في المجموعة: 12 |
() Java Collection max () مثال:
1 2 3 4 5 6 7 8 9 10 11 12 | استيراد java.util. * ؛ مجموعات فئة عامة مثال { العامة الثابتة الفراغ الرئيسي ( سلسلة أ []) { List < Integer > list = new ArrayList < Integer > ()؛ قائمة جديدة قائمة . add ( 90 ) ؛ قائمة . add ( 80 ) ؛ قائمة . add ( 76 ) ؛ قائمة . add ( 58 ) ؛ قائمة . add ( 12 ) ؛ النظام . خارج . println ( "الحد الأقصى لعنصر القيمة في المجموعة:" + المجموعات . max ( list ))؛ } } |
سيكون الإخراج:
عنصر القيمة القصوى في المجموعة: 90 |
28 . ما هو سيرفليت؟
Servlets هي مكونات برامج Java التي تضيف المزيد من الإمكانات إلى خادم Java عبر التكنولوجيا أو واجهة برمجة التطبيقات أو الواجهة أو الفئة أو أي نشر عبر الويب. تعمل Servlets بشكل خاص على خوادم تطبيقات الويب التي تعمل بنظام Java وهي قادرة على التعامل مع الطلبات المعقدة من خادم الويب. تضيف Servlets ميزة الأداء العالي والمتانة وقابلية التوسع وقابلية النقل وتضمن الأمان لتطبيقات Java.
عملية Servlet أو التنفيذ:
- يبدأ هذا عندما يرسل المستخدم طلبًا من مستعرض ويب.
- يتلقى خادم الويب هذا الطلب ثم يمرره إلى servlet المحدد.
- ثم يعالج Servlet هذا الطلب للحصول على استجابة محددة مع الإخراج.
- ثم يرسل Servlet هذه الاستجابة مرة أخرى إلى خادم الويب.
- ثم يحصل خادم الويب على المعلومات التي يعرضها المتصفح على الشاشة.
تأتي Java Servlets مع فئات وواجهات متعددة مثل GenericServlet و ServletRequest و Servlet API و HttpServlet و ServeResponse وما إلى ذلك.
29. ما هو طلب المرسل؟
في Servlet ، يعمل RequestDispatcher كواجهة لتعريف كائن لتلقي الطلبات من العملاء من جانب واحد ثم إرسالها إلى موارد معينة على الجانب الآخر (قد تكون servlet ، HTML ، JSP). هذا RequestDispatcher له طريقتان بشكل عام:
إعادة توجيه باطل (طلب ServletRequest ، استجابة ServletResponse) | يسمح ذلك بإعادة توجيه الطلبات من أي servlet إلى موارد الخادم في شكل Servlet أو ملف HTML أو ملف JSP. |
تضمين باطل (طلب ServletRequest ، استجابة ServletResponse) | يحتوي هذا على محتوى لمصدر معين في شكل استجابة مثل ملف HTML أو صفحة JSP أو servlet. |
30. ما هي دورة حياة servlet؟
Servlet هو مكون برنامج Java له الوظيفة الرئيسية لأخذ الطلب أولاً ، ثم معالجة الطلب ، وإعطاء استجابة للمستخدم في صفحة HTML. هنا Servlet Container تدير دورة حياة servlet. فيما يلي المراحل الرئيسية:
- تحميل Servlet.
- ثم تهيئة Servlet.
- معالجة الطلب (استدعاء طريقة الخدمة).
- ثم تدمير Servlet.
فيما يلي رسم تخطيطي سريع يوضح دورة حياة Java Servlet:
مصدر
- تحميل Servlet
تبدأ دورة حياة Servlet بمرحلة التحميل في حاوية Servlet. يتم تحميل Servlet بإحدى الطريقتين باستخدام:
- تعيين servlet كقيمة تكامل موجبة أو صفرية.
- ثانيًا ، قد تتأخر هذه العملية ، حيث تختار الحاوية servlet الصحيح للتعامل مع الطلب.
الآن تقوم الحاويات أولاً بتحميل فئة Servlet ثم إنشاء مثيل عبر مُنشئ no-وسيطة.
- تهيئة Servlet
الخطوة التالية هي استخدام طريقة Servlet.init (ServletConfig) لتهيئة Servlet لمصدر بيانات JDBC على سبيل المثال.
- معالجة الطلب (استدعاء طريقة الخدمة)
هنا يأخذ Servlet طلبات العميل وينفذ العملية المطلوبة باستخدام طريقة service ().
- تدمير Servlet
الآن تقوم حاوية Servlet بتدمير servlet عن طريق أداء وإكمال مهام محددة واستدعاء طريقة التدمير () في المثيل.
31. ما هي الطرق المختلفة لإدارة الجلسة في servlets؟
تتبع الجلسات نشاط المستخدم بعد تسجيل الدخول إلى الموقع. توفر إدارة الجلسة آلية لشراء المعلومات لكل مستخدم مستقل. فيما يلي أربع طرق مختلفة لإدارة الجلسة في servlets:
- HttpSession
- بسكويت
- إعادة كتابة URL
- HTML الحقل المخفي
32. ما هو برنامج تشغيل JDBC؟
يعمل Java Database Connectivity (JDBC) هنا كمكون برمجي يسمح لتطبيقات Java بالاتصال بقاعدة بيانات.
تحتوي برامج تشغيل JDBC على الأنواع الأربعة التالية في البيئة:
- سائق جسر JDBC-ODBC
- برنامج تشغيل بروتوكول الشبكة (برنامج تشغيل البرامج الوسيطة)
- برنامج تشغيل بروتوكول قاعدة البيانات (برنامج تشغيل Java بالكامل)
- سائق API الأصلي
33. ما هي واجهة JDBC Connection؟
تحدد الاتصالات الجلسات بين قاعدة البيانات وتطبيقات Java. تعد واجهة تعامل JDBC Connection جزءًا من حزمة java.sql فقط وتوفر معلومات الجلسة لقاعدة بيانات معينة. تمثل هذه عبارات SQL متعددة للتنفيذ والنتائج في سياق واجهة اتصال واحدة. فيما يلي الطرق الرئيسية لواجهة Connections:
- createStatement () : لإنشاء كائن بيان محدد لإضافة عبارات SQL إلى قاعدة بيانات معينة.
- setAutoCommit (الحالة المنطقية) : لتعريف اتصال وضع الالتزام بتوجيه خاطئ أو صحيح.
- الالتزام () : يؤدي ذلك إلى إجراء جميع التعديلات من الالتزام الأخير وإصدار أي قاعدة بيانات يحتفظ بها حاليًا كائن الاتصال المحدد.
- rollback () : هذا يلغي أو يتراجع عن جميع التغييرات التي تم إجراؤها في المعاملة السابقة أو الحالية ويطلق أيضًا قاعدة البيانات الموجودة حاليًا في كائن الاتصال.
- إغلاق () : يؤدي إلى إنهاء الاتصال الحالي أو إغلاقه وأيضًا تحرير موارد JDBC أو مسحها على الفور.
34. اسم الوحدات المختلفة لإطار الربيع؟
هناك وحدات متعددة في إطار الربيع:
- وحدة الويب
- وحدة الدعامات
- وحدة Servlet
- وحدة الحاوية الأساسية
- البرمجة الموجهة نحو الجانب (AOP)
- وحدة سياق التطبيق
- وحدة إطار MVC
- تجريد JDBC ووحدة DAO
- وحدة OXM
- وحدة لغة التعبير
- وحدة المعاملات
- وحدة Java Messaging Service (JMS)
- وحدة تكامل ORM
هذه الوحدات موجودة في مجموعات:
مصدر
35. اشرح الفول في الربيع واعرض النطاقات المختلفة لفول الربيع.
الفاصوليا هي أحد المفاهيم الأساسية لإطار الربيع في إدارة الهياكل بكفاءة. في تعريف بسيط ، يمثل Spring Bean حاويات IoC التي تدير الكائن الذي يشكل العمود الفقري للتطبيقات.
نطاقات ربيع الحبة:
تلعب النطاقات دورًا مهمًا في الاستخدام الفعال لحبوب الربيع في التطبيق. يساعدنا Scope على فهم دورة حياة Spring Bean ، ولديهم الأنواع التالية .
S. لا. | النطاق والوصف |
1. | Singleton - بشكل افتراضي ، يحتوي نطاق Spring bean على نطاق مفرد يمثل مثيلًا واحدًا فقط لحاوية Spring IOC. يتم مشاركة هذا الكائن نفسه لكل طلب. |
2. | النموذج الأولي - في هذا ، سيتم استدعاء مثيل جديد وإنشائه لكل تعريف حبة واحدة ، في كل مرة يتم فيها تقديم طلب لفول معين. |
3. | الطلب - في هذا النطاق ، سيتم استدعاء وحدة برامج فردية وإنشاءها لكل طلب HTTP لوحدة برامج محددة. |
4. | الجلسة - يحدد هذا النطاق استخدام وحدة برامج فردية لدورة حياة في جلسة HTTP عالمية معينة. |
5. | Global-session - يسمح هذا النطاق بوحدة واحدة لدورة حياة معينة للتنفيذ في جلسة HTTP العالمية. |
ملاحظة: النطاقات الثلاثة الأخيرة قابلة للتطبيق في Spring ApplicationContext المدرك للويب فقط.
يجب أن تقرأ: لماذا تحظى Java بشعبية كبيرة لدى المطورين
36. اشرح دور DispatcherServlet و ContextLoaderListener.
أثناء تكوين تكوين Spring MVC المستند إلى XML في ملف web.xml ، يلعب إعلانان من DispatcherServlet و ContextLoaderListener دورًا أساسيًا في استكمال الغرض من إطار العمل.
- المرسل
DispatcherServlet له غرض أساسي لإدارة طلبات الويب الواردة لمطابقة معينة تم تكوين أنماط URI. يعمل DispatcherServlet كوحدة تحكم أمامية لجوهر تطبيق Spring MVC ويقوم على وجه التحديد بتحميل ملف التكوين ثم تهيئة الحبوب الصحيحة الموجودة في هذا الملف. وعندما يتم تمكين التعليقات التوضيحية ، يمكنه أيضًا التحقق من التكوينات والحزم ومسحها ضوئيًا لجميع التعليقات التوضيحية باستخدامRepository أوComponent أوService أوController.
- ContextLoaderListener -
يعمل ContextLoaderListener هنا كمستمع للطلب لبدء وإيقاف تشغيل WebApplicationContext الجذر. لذلك ، يقوم بإنشاء ومشاركة سياق التطبيق الجذر مع السياقات الفرعية بواسطة سياقات DispatcherServlet. يمكن للتطبيقات استخدام إدخال واحد فقط لـ ContextLoaderListener في web.xml.
37. شرح العمارة السبات.
يحدد Hibernate بنية الطبقات التي تمكن المستخدمين من العمل والأداء دون معرفة واجهات برمجة التطبيقات الأساسية ، على سبيل المثال ، يعمل Hibernate كإطار عمل لبناء وتطوير منطق الاستمرارية بشكل مستقل عن برنامج قاعدة البيانات.
تحتوي بنية السبات على أربع طبقات رئيسية مع:
- طبقة تطبيق جافا
- طبقة قاعدة البيانات
- طبقة API الخلفية
- طبقة إطار الإسبات
عناصر العمارة السبات
هناك عدة جوانب ونطاق لهندسة السبات. لمعرفة المزيد عنها ، يجب أن تعرف عناصر هندسة السبات.
- SessionFactory : يوفر Sessionfactory طريقة لإنشاء كائنات الجلسة الموجودة في حزمة org.hiberate فقط. إنه آمن للخيط بطبيعته ، وغير قابل للتغيير ، ويحتفظ بذاكرة التخزين المؤقت من المستوى الثاني للبيانات.
- الجلسة: توفر كائنات الجلسة واجهة لبرامج الاتصال وقاعدة البيانات عبر إطار عمل السبات.
- المعاملة: واجهة تساعد في إدارة المعاملات وتسمح بتغيير قاعدة البيانات.
- ConnectiveProvider: جزء من اتصالات JDBC ، يفصل التطبيق الرئيسي عن DataSource أو DriverManager.
- TransactionFactory: يمثل مصنع الصفقة.
38. ما هو التسلسل الهرمي للاستثناءات في جافا؟
يحدد الاستثناء الأحداث غير المرغوب فيها التي تظهر أثناء تشغيل البرنامج أو تنفيذه. الاستثناء يعطل التدفق المنتظم للبرنامج.
التسلسل الهرمي للاستثناءات هو جزء من فئة java.lang.Exception ويقع ضمن فئة Throwable الأساسي فقط. فئة فرعية أخرى " خطأ " تمثل أيضًا فئة Throwable في Java. على الرغم من أن الأخطاء تعتبر ظروفًا غير معتادة في حالة الفشل ، إلا أنه لا يتم التعامل معها أو مسحها باستخدام برامج Java.
هناك نوعان من الفئات الفرعية الأساسية للتسلسل الهرمي الاستثنائي في Java مع فئة RuntimeException و IOCException Class.
39. ما هو التزامن؟
تحدد المزامنة في Java القدرة على إدارة والتحكم في وصول سلاسل رسائل متعددة إلى مورد معين. لذلك ، يمكن لخيط واحد الوصول إلى مورد معين في الوقت الحالي. هنا ، تسمح Java بتطوير سلاسل الرسائل ثم مزامنة المهام عبر كتل المزامنة.
تسمح هذه الكتل المتزامنة بتنفيذ مؤشر ترابط واحد فقط لفترة معينة وتحظر الخيوط الأخرى حتى يخرج مؤشر الترابط الحالي في الكتلة. هنا يُعد مفهوم الشاشات أمرًا بالغ الأهمية في تنفيذ المزامنة في Java. بمجرد دخول الخيط في مرحلة القفل ، يُطلق عليه للدخول إلى الشاشة. وبالتالي ، يتم قفل جميع الخيوط الأخرى ما لم يكن الخيط الأول قد خرج من الشاشة.
40. ما هي الميزات التي تجعل Java من أفضل لغات البرمجة؟
فيما يلي أهم الميزات التي تجعل Java لبدء منحنى التعلم الخاص بك في عالم البرمجة:
- البساطة: جافا سهلة التعلم والكتابة. بناء جملة Java بلغة C ++ التي تسمح للمطورين بكتابة البرامج بسلاسة.
- OOPS: تعتمد Java على نظام البرمجة الموجهة للكائنات (OOPS) ، وبالتالي ، فهي تمكن من إنشاء كود في أنواع متعددة من الكائنات ببيانات وسلوك مختلف.
- ديناميكي: Java هي لغة ديناميكية كاملة تدعم تحميل الفئات الديناميكية كلما وحيثما كان ذلك مطلوبًا. ولديه أيضًا دعم شامل للغة الشفرة الأصلية مثل C و C ++ وما إلى ذلك.
- النظام الأساسي المستقل: تدعم Java أيضًا لغة البرمجة الحصرية والمستقلة عن النظام الأساسي ، مما يسمح للمطورين بتشغيل برنامجهم على نظامهم الأساسي فقط.
- قابلية النقل: تتمتع Java بإمكانية الوصول بمجرد الكتابة في أي مكان بطريقة تسمح بتشغيل الكود على أي نظام أساسي.
- الأمان: باتباع مفهوم ByteCode ومعالجة الاستثناءات وعدم استخدام أي مؤشرات صريحة يجعل Java بيئة آمنة للغاية.
Java هي أيضًا مهندس معماري محايد ولا تعتمد على أي بنية. تضيف الإدارة القوية للذاكرة والتجميع الآلي للقمامة مزيدًا من المتانة إلى بيئتها.
41. ما الذي يجعل Java تتيح الأداء العالي؟
استخدام مترجم Just in Time (JIT) في بنيته يجعل Java واحدة من لغات البرمجة عالية الأداء ، حيث يحول التعليمات إلى أكواد ثنائية.
42. اسم الأكثر شعبية جافا IDE.
هناك العديد من IDE المتاحة في الصناعة لـ Java. فيما يلي أهم خمس معالجات Java IDE يمكنك استخدامها لبدء تعلم لغة البرمجة هذه اليوم:
- كسوف
- نتبينز
- IntelliJ
- JDeveloper
- MyEclipse
43. تحديد الاختلافات الرئيسية بين Java والأنظمة الأساسية الأخرى؟
هناك اختلافان رئيسيان يميزان Java عن الأنظمة الأساسية الأخرى وهما:
- Java عبارة عن نظام أساسي قائم على البرامج ، بينما يمكن أن يكون الآخرون إما برامج أو أنظمة أساسية قائمة على الأجهزة.
- يتم تشغيل Java أو تنفيذها على أي نظام أساسي للأجهزة ، بينما يتطلب البعض الآخر متطلبات أجهزة محددة.
44. ما الذي يجعل Java لها طبيعة "اكتب مرة واحدة وتعمل في أي مكان" (WORA)؟
حسنًا ، الإجابة المكونة من كلمة واحدة هي Bytecode. يقوم مترجم Java بتحويل جميع برامج Java إلى كود بايت محدد يعمل كلغة وسيطة بين كود الجهاز وكود المصدر. يمكن تشغيل ByteCode على أي جهاز كمبيوتر وليس له تبعية للنظام الأساسي.
45. شرح الأنواع المختلفة من محددات الوصول المستخدمة في جافا.
في لغة برمجة Java ، تمثل محددات الوصول النطاق الدقيق للفئة أو المتغير أو الطريقة. هناك أربعة محددات وصول رئيسية:
- يمكن الوصول إلى المتغيرات أو الأساليب أو الفئات المحددة العامة عبر أي طريقة أو فئة.
- يحدد محدد الوصول المحمي نطاق الفئة والطريقة والمتغير لنفس الحزمة ، داخل نفس الفئة ، أو إلى تلك الفئة الفرعية المحددة من الفئة.
- النطاق الافتراضي موجود لجميع الفئات والمتغيرات والطرق الحالية مع إمكانية الوصول إلى الحزمة فقط.
- يحتفظ النطاق الخاص بالوصول إلى الفئة والمتغيرات والطرق إلى فئة معينة فقط.
قراءة: مشروع جافا سوينغ
46. اشرح معنى الحزم في Java مع مزاياها.
الحزم عبارة عن آلية تجميع لأنواع متشابهة (واجهة ، وفئات ، وشروح ، وتعداد) تضمن حماية الأصول وإدارة شاملة للأسماء.
فيما يلي مزايا الحزم في Java:
- تساعدنا الحزم في منع تعارض التسمية عند وجود فئات تحمل الاسم نفسه في حزمتين مختلفتين.
- تساعد الحزم في جعل التحكم في الوصول بشكل منهجي.
- بناء فئات مخفية لتستخدمها الحزم.
- يساعد في تحديد الفئات ذات الصلة بالحزمة.
47. كيف تعرف المُنشئ في Java؟
المُنشئون عبارة عن كتلة خاصة من الرموز تقوم بتهيئة كائن في وقت الإنشاء. على الرغم من تشابهها مع طريقة المثيل ، إلا أن المُنشئين ليسوا الطريقة ، حيث لا يوجد لديهم أي نوع إرجاع صريح. لذلك في كل مرة يتم فيها إنشاء كائن في النظام ، هناك مُنشئ واحد مطلوب تنفيذه. إذا لم يكن هناك مُنشئ محدد ، فسيستخدم المترجم مُنشئًا افتراضيًا.
فيما يلي عرض تقديمي بسيط للمُنشئ في Java:
1 2 3 4 5 6 | فئة عامة MyClass { // هذا هو المنشئ MyClass () { } .. } |
48. ما هي أنواع مختلفة من المنشئات المستخدمة في جافا؟
هناك ثلاثة أنواع من المُنشئات المستخدمة في Java:
- المُنشئ الافتراضي: عندما لا يستخدم المطور مُنشئًا ، يضيف مترجم Java مُنشئًا افتراضيًا أكثر تحديدًا موجودًا في ملف .class.
- منشئ بلا وسيطة: في هذه الحالة ، لا توجد وسيطات في المنشئ ولا يقبل المترجم أي معلمة ، حيث يتم تهيئة طريقة متغير المثيل بقيم ثابتة محددة.
- المُنشئ ذو المعلمات: في هذه الحالة ، توجد معلمة واحدة أو أكثر في المُنشئ المكتوب داخل أقواس العنصر الرئيسي فقط.
49. ما هي الاختلافات بين المنشئات والطرق؟
الاختلاف الرئيسي في المنشئات والطرق هو:
- الغرض: هدف المُنشئون هو تهيئة كائن فئة بينما تؤدي الطريقة مهام محددة عند تنفيذ التعليمات البرمجية.
- يحتوي الأسلوب على أنواع إرجاع بينما لا يفعل المنشئون.
- في الطرق ، هناك تجريدية وثابتة ونهائية ومزامنة بينما في المنشئات ، لا يمكنك عمل إجراءات محددة.
50. اشرح معنى المتغير المحلي ومتغير الحالة؟
- المتغيرات المحلية موجودة في الطريقة ، والنطاق موجود داخل الطريقة فقط.
- متغيرات المثيل موجودة ومعرفة في الفصل فقط مع نطاقها عبر الفصل.
51. شرح معنى Class في Java؟
في Java ، يتم تحديد جميع الرموز والمتغيرات والأساليب في الفصل.
- تمثل المتغيرات السمات التي تحدد حالة فئة معينة.
- تمثل الطرق المكان الذي يأخذ فيه منطق الأعمال تأثيره. تتضمن الأساليب مجموعة من العبارات والتعليمات لتتناسب مع المتطلبات.
فيما يلي مثال بسيط لفصل في Java :
1 2 3 4 5 6 7 | إضافة فئة عامة { // إعلان اسم الفئة كثافة العمليات س = 10 ؛ // إعلان متغير int y = 10 ؛ إضافة عامة باطلة () { // إعلان الطريقة int ض = أ + ب ؛ } } |
52. شرح معنى الكائن في جافا؟
يتم تعريف الكائنات على أنها مثيل لفئة فقط ذات حالة وسلوك معين. على سبيل المثال ، كلب له حالة معينة من الاسم والتكاثر واللون بينما يتضمن السلوك النباح وهز الذيل وما إلى ذلك ، لذلك في أي وقت يقرأ JVM أي كلمة رئيسية () جديدة ، سيتم إنشاء مثيل مطابق. يجب التصريح عن الكائن أولاً ، ثم إنشاء مثيل له وتهيئته أخيرًا لمزيد من الأداء.
53. حدد القيمة الافتراضية لنوع بيانات البايت في لغة جافا.
لنوع البيانات بايت ، القيمة الافتراضية هي 0.
54. لماذا يعتبر نوع بيانات البايت أكثر فائدة في Java؟
نظرًا لأن نوع بيانات البايت أصغر بأربع مرات تقريبًا من عدد صحيح ، لذلك يمكنه تخزين مساحة أكبر للمصفوفات الكبيرة.
55. شرح مفاهيم العمليات في جافا.
OOPs ، هي المفاهيم الأساسية للغة برمجة Java. وتشمل هذه التجريد وتعدد الأشكال والوراثة والتغليف. تعمل مفاهيم Java OOPs على تمكين المطورين من إنشاء متغيرات وطرق ومكونات تسمح لهم بإعادة استخدامها بطريقة مخصصة مع الحفاظ على الأمان.
56. شرح معنى الميراث.
في Java ، الوراثة هي آلية محددة تسمح لفئة واحدة بالحصول على خصائص (مع الحقول والأساليب) لفئة أخرى. الوراثة هي أحد المفاهيم الأساسية لـ Java OOPs.
يجعل الوراثة من الممكن بناء فئات جديدة وإضافة المزيد من الحقول والأساليب إلى الفئات الحالية لإعادة استخدامها بأي شكل من الأشكال.
- الفئة الفرعية هي التي ترث خصائص الفئة الأخرى.
- Superclass هو الذي يتم توريث خصائصه.
57. شرح مفاهيم التغليف في جافا؟
كأحد المفاهيم الأساسية لـ Java OOPs ، يتيح Encapsulation التفاف البيانات والكود داخل وحدة واحدة فقط. يُعرف التغليف أيضًا باسم إخفاء البيانات ، حيث يتم إخفاء متغيرات فئة معينة عن جميع الفئات الأخرى ويمكن الوصول إليها باستخدام طرق من الفئة الحالية فقط.
الشيئين الأساسيين لتحقيق التغليف في Java هما:
- إعلان متغيرات فئة معينة على أنها متغيرات خاصة.
- الاستفادة من أساليب الواضع العام والجمع لإجراء التغييرات وعرض القيم المتغيرة.
58. شرح مفاهيم تعدد الأشكال.
يسمح تعدد الأشكال في Java للمطورين بأداء مهمة واحدة بطرق متعددة. هناك نوعان من تعدد الأشكال في Java مع وقت التشغيل ووقت الترجمة. يمكنك استخدام طرق التجاوز والتحميل الزائد لتشغيل تعدد الأشكال في Java.
59. شرح معنى الواجهة.
في Java ، لا يمكننا تحقيق العديد من الميراث. هنا ، تلعب الواجهة دورًا حاسمًا في التغلب على هذه المشكلة لتحقيق التجريد ، والمساعدة في الوراثة المتعددة ، وكذلك دعم الاقتران السائب. الآن لدينا طريقة افتراضية وثابتة وخصوصية في التفاعل مع آخر تحديثات Java.
60. ما هو المقصود بفئة الملخص؟
تم تصميم فصول الخلاصة بكلمة أساسية مجردة محددة في Java. يمثلون كلا من الأساليب المجردة وغير المجردة.
61. شرح فئة التجريد في جافا؟
يعتبر التجريد من الخصائص الأساسية لإخفاء معلومات التنفيذ عن المستخدم ثم تمثيل وظائف المستخدم فقط. For instance, when you send an SMS from one person to another person. The user gets to know only the message and number while the backend process remains hidden.
You can achieve abstraction in Java using the following two ways:
- Abstract Class (0 to 100%)
- Interface (100%)
62. Explain the difference between Abstraction and Encapsulation in Java.
Here are the main differences:
التجريد | التغليف |
Abstraction aims to gain information. | Encapsulation's main aim is to contain or procure information. |
In the abstraction process, issues or problems are handled at the interface/ design level. | In Encapsulation, problems are handled at a specific implementation level. |
Abstraction aids in hiding unwanted information. | Encapsulation method applies hiding data within a single unit. |
Implemented with interfaces and abstract classes. | Implemented with a particular access modifier (public, private, and protected). |
Use abstract classes and interfaces to hide complexities. | Use getters and setters to hide data. |
Objects that extend to abstraction must be encapsulated. | An object for encapsulation must not be abstracted. |
63. Explain the differences between Abstract class and interface.
Abstract Class | واجهه المستخدم |
Abstract Class comes with a default constructor. | The interface doesn't have a constructor. So, no further process. |
Uses both Abstract and Non-Abstract methods. | Only use Abstract methods. |
Classes that must extend for Abstract class need only abstract methods throughout their sub-class. | Classes that extend to interface must provide implementation across all the methods. |
These include instance variables. | The interface presents constants only. |
64. Explain the main differences between Array and Array List.

مجموعة مصفوفة | Array List |
The size needs to be defined for the declaring array. String[] name = new String[5] | No size requirements; and modifies dynamically. ArrayList name = new ArrayList |
You must specify an index for putting an object inside the array. name[1] = “dog” | There are no index requirements.
name.add(“dog”) |
Arrays are not parameterised. | From Java 5.0 onwards, ArrayLists have a specific parameterised type. |
65. Explain the difference between static method and instance method.
Static or Class Method | Instance Method |
You must declare a method static for a static method. | All methods with declaration as static come under Instance method only. |
No requirements for creating objects in the Static method. | The object is a must for calling the instance method. |
You cannot access Instance or Non-static methods in the static context. | You can access both static and non-static in the instance method. |
66. How to make Constructors static?
Constructors invoked with the object, and static context is part of the class, not the object. Hence, constructors cannot be static and show compiler error if run or executed.
67. Explain the use of 'this' keyword in Java?
In Java, 'this' keyword represents a specific reference on the current object. There are multiple uses for this keyword for referring to the current class properties from a variable, constructors, methods, and more. You can also pass this as an argument within constructors or methods. You can also fetch this as a return value from the current class instance. You can also refer to this as a static context.
اقرأ أيضًا: كيفية برمجة مشروعات Java وتجميعها وتشغيلها
68. What is a classloader in Java? What are the different types of ClassLoaders in Java?
Java Classloader's main function is to dynamically load all classes into the Java Virtual Machine (JVM). ClassLoaders are part of the JRE only. So every time we run a Java program, classloader loads the classes to execute this program. A single ClassLoader loads only a specific class on requirements and uses getClassLoader() method to specify the class. These classes are loaded by calling their names, and in case these are not found then it retrieves or throws a ClassNotFoundException or NoClassDefFoundError.
Java ClassLoader uses three principles in performing tasks with delegation, uniqueness, and visibility.
There are three different types of Java ClassLoader:
- BootStrap ClassLoader:
BootStrap ClassLoader represents the parent or superclass for extension classloader and all other classloaders. It has machine code that loads the pure first Java ClassLoader and takes classes from the rt.jar and also known as Primordial ClassLoader.
- Extension ClassLoader:
Extension ClassLoader represents the child classloader for the superclass or BootStrap ClassLoader. It loads core java classes from jre/lib/ext , ie, JDK extension library.
- System ClassLoader:
Application or System ClassLoader are further child classes of Extension ClassLoader. It takes and loads a file from the current directory for the program that you can customise with the 'classpath' switch.
69. Explain the meaning of Java Applet.
Java Applet is a program that executes or runs in the web browser only. Applets are specifically designed to function and embed with HTML web pages. Applets have the capability to function full Java applications with the entire use of Java API. JVM is a must requirement to view an applet on the browser. Applet extends with the use of java.applet.Applet class.
70. What are the types of Applets?
Based on location, there are two types of Java applets as Local Applets that are stored on the same computer or system. The Remote Applets that have files on remote systems.
71 What are immutable objects in Java?
في Java ، الكائنات غير القابلة للتغيير هي تلك التي لا تتغير حالتها بعد إنشائها. تعتبر الكائنات غير القابلة للتغيير مثالية للتطبيقات متعددة الخيوط التي تسمح بمشاركة الخيوط مع تجنب المزامنة. تُفضل الكائنات غير القابلة للتغيير لبناء كود بسيط وسليم وموثوق لتتناسب مع إستراتيجية فعالة.
72. ماذا تقصد ب JRE (بيئة تشغيل جافا)؟
Java Runtime Environment هي طبقة البرامج التي توفر الدعم للحد الأدنى من المتطلبات لتشغيل برامج Java على الجهاز. إلى جانب JDK و JRE ، يشكل هؤلاء الثلاثة الأساس لتشغيل برامج Java وتطويرها على جهاز معين.
73. ما هو جزء JDK؟
Java Development Kit (JDK) هي إحدى حزم التكنولوجيا الأساسية الضرورية لتشغيل برامج Java. يمكن أن يكون التنفيذ من أي من أنظمة Java الأساسية أو Standard Edition أو Micro أو Enterprise التي طورتها Oracle لبناء التطبيقات على Windows أو Linux أو macOS.
74. ما هي آلة جافا الافتراضية (JVM)؟
يعد Java Virtual Machine (JVM) أحد المتطلبات الأساسية الثلاثة لتشغيل برامج Java وتنفيذها جنبًا إلى جنب مع JDK و JRE. لدى JVM وظيفتان أساسيتان ؛ أولاً ، لتمكين برامج Java من العمل بسلاسة على أي جهاز أو نظام وثانيًا لتحسين الذاكرة لتقديم الأداء.
75.ما هي الاختلافات بين JDK و JRE و JVM؟
JVM | JRE | JDK |
Java Virtual Machine | بيئة جافا وقت التشغيل | أدوات تطوير جافا |
تعتمد المنصة على العديد من خيارات البرامج والأجهزة المتاحة. | طبقة البرنامج التي توفر الدعم للحد الأدنى من المتطلبات لتشغيل برامج Java على الجهاز. | الإصدار القياسي إصدار المؤسسة مايكرو ايديشن |
ثلاث مفاهيم مثل:
| مجموعة من المكتبات + الملفات التي تدعم JVM في وقت التشغيل. | أدوات تطوير JRE + |
يوفر بيئة وقت التشغيل للتنفيذ. | تمثل JRE تنفيذ JVM. | بيئة تطوير البرمجيات. |
76. كم عدد أنواع مناطق الذاكرة الموجودة في JVM؟
توجد عدة أنواع من مناطق الذاكرة في JVM:
- منطقة الفئة: تخزن هذه الذاكرة هياكل ما قبل الفصل مع الحقل والتجمع وبيانات الأسلوب والرمز.
- الكومة تعني ذاكرة وقت التشغيل المخصصة على وجه التحديد للكائنات.
- يمثل Stack ذاكرة الإطار بمتغير محلي ، ونتائج جزئية ، وخيط ، وإطار لكل طريقة.
- يقوم Program Counter Register بتخزين المعلومات الخاصة بالتعليمات الحالية مع تنفيذ Java Virtual machine.
- الطريقة الأصلية Stack يخزن جميع الأساليب الأصلية الحالية المستخدمة في التطبيقات الحالية.
77. ما هو ربط البيانات في جافا؟
يمثل ربط البيانات الروابط بين الفئة والطريقة أو المجال أو المتغير أو المُنشئين أو جسم الطريقة. يمكن لـ Java معالجة ربط البيانات بشكل ثابت وديناميكي.
78. ما هي أنواع ربط البيانات المختلفة في جافا؟
هناك نوعان أساسيان من ربط البيانات في Java.
- يحدث الربط الثابت في وقت الترجمة باستخدام طرق ثابتة ونهائية وخاصة ؛ يُعرف أيضًا باسم الربط المبكر.
- يتم تقديم Dynamic Binding في وقت التشغيل مع عدم وجود معلومات دقيقة معروفة حول الطريقة الصحيحة أثناء وقت الترجمة.
79. ما هو مقبس جافا؟
تساعد المآخذ في بناء آليات الاتصال من جهازي الكمبيوتر عبر TCP. تعتبر المقابس بشكل مثالي أكثر كفاية ومرونة للاتصالات.
80. اشرح الفرق بين المسار و Classpath.
يمثل كل من المسار و Classpath متغيرات البيئة المحلية. يوفر المسار البرنامج لتحديد موقع الملفات القابلة للتنفيذ بينما يحدد ClassPath موقع ملفات .class في النظام.
81. هل هناك طريقة مجردة بدون استخدام فئة مجردة؟
لا ، لكي توجد طريقة مجردة في الفصل ، يجب أن تكون فئة مجردة.
82. ما هي عملية إنشاء فصل دراسي للقراءة فقط في Java؟
في Java ، يمكنك إنشاء فصل دراسي للقراءة فقط عن طريق الحفاظ على خصوصية جميع الحقول. ستحتوي هذه الفئة المحددة للقراءة فقط على طرق getter فقط تعيد الملكية الخاصة. لا يسمح بتعديل هذه الخاصية أو تغييرها نظرًا لعدم توفر طريقة تعيين.
1 2 3 4 5 6 7 8 9 | // فئة للقراءة فقط في Java طالب فئة عامة { // عضو بيانات خاص معهد String الخاص = "MKG" ؛ // طريقة getter للمعهد سلسلة عامة getInstitute () { معهد العودة } } |
83. ما هي عملية إنشاء فصل دراسي للكتابة فقط في Java؟
في Java ، يمكنك أيضًا إنشاء فئة للكتابة فقط عن طريق الحفاظ على خصوصية جميع الحقول مع تنفيذ طرق setter فقط.
1 2 3 4 5 6 7 8 9 | // فئة للكتابة فقط في Java طالب فئة عامة { // عضو بيانات خاص معهد String الخاص ؛ // طريقة الواضع للمعهد public void setInstitute ( String Institute ) { هذا . معهد = معهد ؛ } } |
84. شرح طريقة الوصول إلى فصل في فصل آخر في جافا؟
في Java ، توجد طريقتان للوصول إلى فصل دراسي في فصل دراسي آخر على النحو التالي:
- استخدام الاسم المحدد: يمكننا الوصول إلى فئة معينة من حزمة مختلفة باستخدام الاسم المؤهل أو استيراد تلك الحزمة التي تحتوي على فئة معينة.
- باستخدام المسار النسبي: وبالمثل ، يمكننا أيضًا استخدام المسار النسبي لتلك الحزمة مع فئة معينة.
85. ما هي معالجة الاستثناءات؟
تمثل معالجة الاستثناءات آلية معالجة الاستثناء أو الظروف غير الطبيعية أثناء أخطاء وقت التشغيل للحفاظ على التدفق الطبيعي للتطبيق. هناك ثلاثة أنواع مختلفة من استثناءات Java مع استثناء محدد واستثناء لم يتم التحقق منه وخطأ.
86. اشرح الفرق بين الاستثناء المدقق والاستثناء الذي لم يتم التحقق منه.
- الاستثناءات المحددة هي الفئات التي تمد الفئات القابلة للإلقاء بشكل أكبر باستثناء RuntimeException مثل SQLException و IOException وما إلى ذلك. يتم التعامل مع الاستثناءات المحددة أثناء وقت الترجمة فقط.
- الاستثناءات التي لم يتم تحديدها هي الفئات التي تمدد RuntimeException مثل NullPointerException و ArithmeticException وما إلى ذلك ولا يتم التعامل معها أثناء وقت الترجمة.
87. ما هي الفئة الأساسية للاستثناء والخطأ؟
هنا ، تمثل فئة Throwable الفئة الأساسية لـ Exception and Error.
88. أذكر الكلمة الأساسية للتعامل مع الاستثناءات في جافا.
هناك خمس كلمات رئيسية للتعامل مع الاستثناءات في Java هي:
الكلمة الرئيسية | وصف |
يحاول | تحدد كتلة المحاولة هذه الكتلة لوضع رمز التنفيذ. عادةً ما يتبع كتلة المحاولة هذه استخدام إما catch أو أخيرًا. لذلك ، لا يمكن استخدامها بمفردها. |
قبض على | الهدف الرئيسي من Catch block هو معالجة الاستثناء. يجب عليك استخدام هذا جنبًا إلى جنب مع كتلة المحاولة ثم أخيرًا في المرحلة اللاحقة. |
أخيرا | أخيرًا ، يتحقق block من الكود المهم للبرنامج الذي يتحقق مما إذا كان التنفيذ قد تم أم لا. |
يرمي | الهدف الرئيسي من رمي الكلمة المفتاحية هو طرح استثناء من البرنامج. |
رميات | تُستخدم الكلمة الأساسية الرميات بشكل أساسي لإعلان الاستثناءات وليس لطرح استثناء. يوفر معلومات حول حدوث استثناء ويتم تطبيقه مع توقيع الطريقة. |
89. اشرح أهمية الكتلة النهائية.
هنا ، الكتلة النهائية لها أهمية حاسمة في التشغيل السلس للبرنامج. يتم تنفيذه دائمًا سواء تم التعامل مع الاستثناء أم لا. أخيرًا ، تأتي الكتلة بعد كتلة try or catch. في JVM ، سيقوم النظام دائمًا بتشغيل الكتلة النهائية قبل إنهاء أو إغلاق ملف. لكل مجموعة تجربة موجودة ، يمكن أن يكون هناك كتل التقاط صفرية أو متعددة ، ولا يزال هناك كتلة واحدة أخيرًا.
90. هل تشغيل كتلة أخيرة ممكن بدون كتلة catch؟
نعم ، يمكن تشغيل الكتلة النهائية متبوعة إما بلوك try أو catch ، على التوالي.
91. هل هناك أي حالات لعدم وجود كتلة نهائية؟
أخيرًا ، لا يتم تشغيل أو تنفيذ الحظر في حالة وجود البرنامج بالفعل أو حدوث خطأ فادح لإيقاف العملية.
92. اشرح الفروق الرئيسية بين الرمي والرمي.
رمي الكلمة | يلقي الكلمة |
يرمي استثناء. | تعلن استثناء. |
لا يمكن نشر الاستثناءات التي تم تحديدها بالرمي فقط. | يمكن أن تنتشر الاستثناءات التي تم تحديدها باستخدام رميات. |
يليه مثيل. | يليه فصل دراسي. |
يتم استخدامه في الطريقة فقط. | يتم استخدامه مع توقيع طريقة محددة. |
لا توجد احتمالات لاستثناءات متعددة. | بينما في هذا الإجراء ، يمكن الإعلان عن استثناءات متعددة. |
93. هل هناك إمكانية لإعادة عرض استثناء؟
نعم ، في حالة وجود استثناء ، يمكن إعادة عرضه.
94. شرح حول انتشار الاستثناءات.
تُعرف عملية الاستثناء ضمن إجراء المعالجة بانتشار الاستثناء. على سبيل المثال ، يتم التعامل مع الاستثناء أولاً في الجزء العلوي من المكدس ، ثم إذا لم يتم اكتشافه ، فحينئذٍ يسقط الاستثناء إلى الطريقة السابقة ، وإذا لم يتم ذلك ، فإنه ينخفض أكثر حتى يتم اكتشاف الاستثناء أو وصوله إلى القاع من المكدس. الاستثناءات التي تم تحديدها بشكل افتراضي ليس لها انتشار.
95. شرح معنى الخيط في جافا.
في Java ، تُعرف طريقة التنفيذ أو مساره باسم الخيط. لذلك ، يحتوي كل برنامج على مؤشر ترابط واحد يسمى الخيط الرئيسي الذي تم إنشاؤه بواسطة JVM. يتمتع المطورون بالقدرة على تحديد مؤشرات الترابط المخصصة الخاصة بهم عن طريق إضافة فئة مؤشر الترابط وتوسيعها باستخدام الواجهة.
96. شرح معنى تجمع الخيوط.
تجمع خيوط Java عبارة عن مجموعة من مؤشرات ترابط متعددة تنتظر باستمرار المهام المخصصة. هنا تعمل تجمعات سلاسل الرسائل تحت مزود الخدمة الذي يسحب سلسلة رسائل من هذا التجمع ثم يعين لهم المهمة لوظيفة معينة. يضيف تجمع الخيوط المزيد من الأداء والاستقرار للنظام.
97. اشرح الفرق بين StringBuffer و StringBuffer.
سلسلة | StringBuffer |
فئة String غير قابلة للتغيير في الطبيعة. | فئة StringBuffer ، من ناحية أخرى ، قابلة للتغيير. |
الأوتار بطيئة. | وإلا فإن StringBuffer سريع جدًا. |
هذه تستهلك المزيد من الذاكرة لإنشاء مثيل جديد. | هذه تستهلك ذاكرة أقل مع سلاسل concat. |
تسمح السلاسل بمقارنة محتواها ، لأنها تتجاوز طريقة equals () من صنف Object. | في حين أن فئة StringBuffer لا يمكنها تجاوز طريقة equals () من فئة Object. |
98. اشرح الفرق بين StringBuffer و StringBuilder.
StringBuffer | StringBuilder |
إنه متزامن مع سلامة الخيوط. | إنه غير متزامن مع عدم وجود أمان للخيوط. |
في هذا ، هناك موضوعان ليس لهما طريقة استدعاء. | في هذا ، يمكن أن يكون لخيطين طرق استدعاء بسلاسة. |
أقل أو أقل كفاءة من StringBuilder. | أكثر كفاءة من StringBuffer. |
99. ما هي طريقة إنشاء فئة غير قابلة للتغيير في Java؟
في Java ، يمكنك إنشاء فئة غير قابلة للتغيير عن طريق إعلان فئة نهائية بجميع أعضائها نهائية. لنأخذ مثالاً لفهم هذا:
1 2 3 4 5 6 7 8 9 10 11 12 | موظف من الدرجة النهائية العامة { رقم أمان السلسلة النهائية ؛ الموظف العام ( String securityNumber ) { هذا . securityNumber = securityNumber ؛ } السلسلة العامة getSecurityNumber () { عودة الأمن } } |
99. ما هي الطبقات الداخلية؟
يتم تعريف فئات Java Inner والإعلان عنها داخل واجهة أو فئة. تسمح الفصول الداخلية للنظام بتجميع الفئات والواجهات بشكل منطقي مما يجعلها أكثر قابلية للقراءة بالإضافة إلى سهولة صيانتها. علاوة على ذلك ، يمكن لهذه الفئات الوصول إلى جميع أعضاء الفئة الخارجية بالطرق بالإضافة إلى أعضاء البيانات الخاصة.
100. ما هي أهم مزايا وعيوب استخدام أصناف Java Inner؟
تشمل المزايا الرئيسية لفئات Java الداخلية ما يلي:
- إمكانية الوصول لجميع الأعضاء من الطبقات الخارجية.
- أقل للكتابة.
- المزيد من الصيانة والكود المقروء.
تشمل العيوب الرئيسية لفئات Java الداخلية ما يلي:
- دعم أقل من IDE.
- عدد كبير من إجمالي الفصول.
101. تحديد أنواع الطبقات الداخلية في لغة برمجة جافا؟
الفصول الداخلية لها ثلاثة أنواع رئيسية:
- فئة العضو الداخلية التي تحدد فئة داخل الفئة باستخدام الطريقة الخارجية.
- فئة داخلية مجهولة لتوسيع الفئة أو تحديد تنفيذ واجهة.
- الطبقة الداخلية المحلية لإنشاء فئة داخل الطريقة.
102. تحديد فئة متداخلة.
يتم تعريف الفئات المتداخلة أو الإعلان عنها داخل فئة أو واجهة فقط. يمكن للفئة المتداخلة الوصول على وجه التحديد إلى جميع أعضاء الفصل الخارجي بالطرق وأعضاء البيانات الخاصة أيضًا. فيما يلي بناء جملة بسيط لفئة متداخلة:
1 2 3 4 5 6 | فئة Java_Outer_class { //الشفرة فئة Java_Nested_class { //الشفرة } } |
103. هل يمكنك شرح الفرق بين الطبقات الداخلية والفئات المتداخلة؟
يتم تعريف جميع الفئات الداخلية على أنها فئات متداخلة غير ثابتة. لذلك ، تعتبر الفصول الداخلية جزءًا من الفئات المتداخلة فقط.
104. كيف تعرف معنى المجموعات في Java؟
المجموعات في Java هي مجموعة من الكائنات المتعددة التي تظهر كوحدة واحدة ؛ تُعرف في المقام الأول باسم "مجموعات الكائنات". يُطلق عليهم أيضًا اسم Collection Framework أو بنية توفر مساحة تخزين للكائنات وتعالج التصميم بشكل أكبر من أجل التغييرات.
فيما يلي الوظائف الرئيسية التي تؤديها مجموعات Java:
- فرز
- يبحث
- إدراج
- تلاعب
- حذف
هناك العديد من الواجهات والفئات التي تعد جزءًا من المجموعات.
105. ما هي الواجهات والفئات المتوفرة في المجموعات؟
فيما يلي قائمة بالواجهات والفئات المتوفرة مع المجموعات في Java.
- الواجهات: المجموعة ، قائمة الانتظار ، المجموعة المصنفة ، الخريطة المصنفة ، القائمة ، التعيين ، الخريطة
- الفئات: القوائم ، المتجهات ، قائمة الصفيف ، القائمة المرتبطة
- المجموعات: مجموعة التجزئة ، مجموعة الشجرة ، مجموعة التجزئة المرتبطة
- الخرائط: خريطة التجزئة ، جدول التجزئة ، خريطة الشجرة ، خريطة مجزأة مرتبطة
- قائمة الانتظار: أولوية قائمة الانتظار
106. شرح مرتبة وترتيب فيما يتعلق بالمجموعات في جافا؟
- الفرز : يسمح الفرز لمجموعة الكائنات بالتطبيق داخليًا أو خارجيًا لفرزها في مجموعة معينة ، بناءً على خصائصها المختلفة.
- مرتب: يحدد القيم التي تم فرزها على أساس القيم المضافة في المجموعة وتكرارها بترتيب معين.
107. ما هي القوائم المختلفة المتوفرة في المجموعة؟
يسرد قيم المتجر بناءً على موضع الفهرس الخاص بها مع السماح بالتكرار. فيما يلي الأنواع الرئيسية للقوائم:
قوائم الصفيف: تستخدم واجهة الوصول العشوائي ، وتوفر تجميع الطلبات حسب الفهرس ، وليس الفرز ، وتوفر التكرار السريع. هذا مثال لفهم هذا:
1 2 3 4 5 6 7 8 9 10 11 12 13 | فواكه من الدرجة العامة { العامة الثابتة الفراغ الرئيسي ( سلسلة [ ] args ) { ArrayList < String > names = new ArrayList < String > () ؛ الأسماء . إضافة ( " تفاحة " ) ؛ الأسماء . إضافة ( " الأفوكادو " ) ؛ الأسماء . إضافة ( " الكرز " ) ؛ الأسماء . إضافة ( " كيوي " ) ؛ الأسماء . يضاف ( " برتقال " ) ؛ الأسماء . أضف ( " موز " ) ؛ الأسماء . إضافة ( " كيوي " ) ؛ النظام . خارج . println ( أسماء ) ؛ } } |
الإخراج على النحو التالي:
[تفاح ، أفوكادو ، كرز ، كيوي ، برتقال ، موز ، كيوي] |
باستخدام الإخراج ، يمكنك التحقق من أن Array List تحتفظ بترتيب الإدراج الأصلي وتسمح أيضًا بالنسخ المكررة. وإن لم يتم فرزها.
Vector: يستخدم أيضًا طريقة الوصول العشوائي ، وتتم مزامنتها ، وتوفر دعمًا لسلامة الخيط.
دعونا نفهم هذا بمثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 | فواكه من الدرجة العامة { العامة الثابتة الفراغ الرئيسي ( سلسلة [ ] args ) { ArrayList < String > names = ناقل جديد < String > () ؛ الأسماء . إضافة ( " كيوي " ) ؛ الأسماء . يضاف ( " برتقال " ) ؛ الأسماء . أضف ( " موز " ) ؛ الأسماء . إضافة ( " تفاحة " ) ؛ الأسماء . إضافة ( " الأفوكادو " ) ؛ الأسماء . إضافة ( " الكرز " ) ؛ الأسماء . إضافة ( " كيوي " ) ؛ النظام . خارج . println ( أسماء ) ؛ } } |
الإخراج على النحو التالي:
[كيوي ، برتقال ، موز ، تفاح ، أفوكادو ، كرز ، كيوي] |
تتبع قوائم المتجهات ترتيب الإدراج الأصلي وتدعم أيضًا التكرارات.
القائمة المرتبطة: إنها أيضًا خيار مثالي للحذف والإدراج ، العناصر مزدوجة الارتباط ، ولكنها بطيئة في الأداء.
مثال لقائمة مرتبطة:
1 2 3 4 5 6 7 8 9 10 11 12 13 | فواكه من الدرجة العامة { العامة الثابتة الفراغ الرئيسي ( سلسلة [ ] args ) { ArrayList < String > names = ناقل جديد < String > () ؛ الأسماء . إضافة ( " كيوي " ) ؛ الأسماء . يضاف ( " برتقال " ) ؛ الأسماء . أضف ( " موز " ) ؛ الأسماء . إضافة ( " تفاحة " ) ؛ الأسماء . إضافة ( " الأفوكادو " ) ؛ الأسماء . إضافة ( " الكرز " ) ؛ الأسماء . إضافة ( " كيوي " ) ؛ النظام . خارج . println ( أسماء ) ؛ } } |
الإخراج على النحو التالي:
[تفاح ، أفوكادو ، كرز ، كيوي ، برتقال ، موز ، كيوي] |
كما أنه يتبع ترتيب الإدراج الأصلي ويقبل التكرارات.
108. ما هي الاختلافات الرئيسية بين المجموعات والمجموعات في Java؟
الاختلافات الرئيسية هي كما يلي:
- تمثل المجموعة واجهة بينما المجموعات هي فئة خاصة فقط.
- توفر واجهة المجموعة وظائف متعددة لتنظيم البيانات مثل القائمة والمجموعة وقائمة الانتظار. في حين أن الهدف الرئيسي لفئة المجموعة يقتصر على فرز عناصر المجموعة ومزامنتها.
109. شرح أولوية قائمة الانتظار.
تحدد أولوية قائمة الانتظار واجهة قائمة الانتظار للتعامل مع القوائم المرتبطة بغرض إدخال الأولوية وأولوية الخروج. تتبع قائمة الانتظار عمومًا خوارزمية ما يرد أولاً يصرف أولاً (FIFO) ، ولا يزال بإمكانك ترتيب عناصر قائمة الانتظار بناءً على متطلبات محددة ، ومن ثم يمكننا تنفيذ PriorityQueue للتخصيص. مع Priority Queue ، يعتمد ذلك على كومة الأولوية إما بشكل طبيعي أو عبر المقارنة على أولويتها النسبية.
110. متى يكون استخدام ومقارنة واجهة Runnable في Java مثالية؟
عندما نحتاج إلى توسيع فئة مع بعض الفئات الأخرى وليس الخيوط ، فإن الواجهات القابلة للتشغيل هي الخيار الأمثل.
111. ما هو الفرق بين طريقة start () و run () لصنف الموضوع؟
يضيف الأسلوب start () وينشئ سلسلة رسائل جديدة. ويتم تنفيذ الكود في طريقة run () في الخيط الجديد فقط. أثناء تشغيل طريقة () ، ستنفذ التعليمات البرمجية في مؤشر الترابط الحالي فقط.
112. ما هو تعدد العمليات؟
في Java ، يمكننا تنفيذ خيوط متعددة في وقت واحد ، وهو ما يُعرف باسم Multithreading. يساعد البرنامج على القيام بمهام متعددة مع أخذ ذاكرة أقل وإعطاء أداء أعلى. في Multithreading ، تكون الخيوط خفيفة الوزن ، وتشترك في نفس المساحة ، وبأسعار معقولة جدًا من كل جانب.
113. اشرح الفرق بين العملية والخيوط.
فيما يلي الاختلافات الرئيسية:
- يُطلق على برنامج Java قيد التنفيذ كعملية بينما يمثل مؤشر الترابط مجموعة فرعية من العملية فقط.
- تمثل العمليات مساحات مختلفة في الذاكرة ، في حين أن الخيوط لها نفس العنوان.
- العمليات مستقلة تمامًا ، في حين أن الخيوط جزء من العملية فقط.
- الاتصال البطيء بين العمليات الداخلية ، في حين أن الاتصال بين الخيوط سريع.
114- اشرح معنى الاتصال بين الخيوط.
يتم تعريف الاتصال بين الخيوط على أنه العملية التي تسمح بالاتصال بين سلاسل عمليات متزامنة متعددة. هدفه الرئيسي هو تجنب تجمع الخيوط في Java. يتم الاتصال من خلال أساليب الانتظار () ، والإخطار () ، والإخطار الكل ().
115. اشرح طريقة الانتظار.
باستخدام طريقة wait () ، يمكنك السماح للخيط أن يكون في مرحلة الانتظار بينما يكون الخيط الآخر مغلقًا على الكائن. وبالتالي ، يمكن أن تضيف طريقة الانتظار () مدة انتظار كبيرة للخيوط.
فيما يلي بناء جملة لتمثيل هذا:
1 2 3 4 5 6 | العامة الثابتة الفراغ الرئيسي ( سلسلة [] args ) { موضوع t = موضوع جديد () ؛ ر . بداية () ؛ متزامن ( ر ) { انتظر () ؛ } |
116. ما هو الفرق الرئيسي بين طريقة notify () و notifyAll () في جافا؟
ترسل طريقة notify () إشارة لتنبيه مؤشر ترابط معين فقط في تجمع الانتظار بينما يقوم notifyAll () بإيقاظ جميع الخيوط في مرحلة الانتظار في التجمع.
117. حدد الفروق الرئيسية بين النوم () والانتظار ().
السكون () يوقف مؤقتًا أو يوقف تقدم مؤشر الترابط الحالي عن طريق تعليق التنفيذ لمدة معينة مع عدم تحرير القفل. أثناء الانتظار () يتسبب في مدة انتظار لمؤشر ترابط بعد استدعاء طريقة notify () للاستيقاظ لاحقًا.
118. شرح طريقة الانضمام () بالنسبة إلى الخيط في جافا.
تسمح طريقة الانضمام () بدمج خيط واحد مع أحد الخيوط المستمرة. فيما يلي بناء جملة لطريقة الانضمام ():
1 2 3 4 5 | العامة الثابتة الفراغ الرئيسي ( سلسلة [] args ) { موضوع t = موضوع جديد () ؛ ر . بداية () ؛ ر . انضم () ؛ } |
119. اشرح طريقة العائد من الخيط.
طريقة المحصول هي طريقة ثابتة ولا تحرر أي قفل في الخيوط. هنا ، تعمل طريقة Yield () على تمكين الخيط الحالي إلى مؤشر ترابط أكثر قابلية للتشغيل مع السماح للخيوط الأخرى بالحفاظ على التنفيذ. وبالتالي ، يمكن تشغيل مؤشرات الترابط ذات الأولوية المتساوية بانتظام.
120. ما هي مرحلة الجوع؟
التجويع هي مرحلة يفشل فيها أحد الخيوط في الوصول إلى الموارد المشتركة ولا يكون قادرًا على إحراز أي تقدم.
121. ما هو الجمود لموضوع؟
يحدد Deadlock المرحلة التي يتم فيها حظر خيطين أو عدة خيوط إلى الأبد في انتظار بعضهما البعض.
122. تحديد التسلسل وإلغاء التسلسل في جافا؟
التسلسل هو عملية تحويل حالة الكائن إلى تدفق بايت معين مناسب بشكل مثالي لتقنيات JPA و JMS و RMI و JPA و Hibernate. بينما تسمى العملية المعاكسة لتغيير تدفق البايت إلى كائن بإلغاء التسلسل. كلتا العمليتين مستقلتان عن النظام الأساسي ، لذا تسمحان لك بالتسلسل في منصة واحدة وإلغاء التسلسل في منصة مختلفة تمامًا بكفاءة.
123. ما هي أهمية المتغيرات العابرة؟
تكمن أهمية المتغيرات العابرة في إلغاء التسلسل الذي يتم تعيينه على المتغيرات الافتراضية ولا يتم استخدامه مع المتغيرات الثابتة.
124. ما هي المتغيرات المتغيرة؟
تلعب المتغيرات المتقلبة دورًا مهمًا في المزامنة والقراءة من الذاكرة الرئيسية مع تجنب ذاكرة التخزين المؤقت للخيط.
125. ما هو SerialVersionUID؟
في عملية Serialized ، يتم ختم الكائن برقم معرف إصدار محدد لفئة الكائن المعنية. يُطلق على هذا الرقم اسم SerialVersionUID ويلعب دورًا مهمًا في التحقق أثناء عملية إلغاء التسلسل للتحقق من التوافق على المرسل والمستقبل ، على التوالي.
126. ما هي عملية استنساخ كائن في Java؟
باستخدام استنساخ الكائن ، يمكنك إنشاء نسخة طبق الأصل من الكائن الأصلي. لكي يكون الاستنساخ ممكنًا ، يجب أن يتمتع الفصل بدعم الاستنساخ بواجهة java.lang.Cloneable والسماح بتجاوز clone () التابع من فئة الكائن الأصلية.
إليك صيغة بسيطة لطريقة clone ():
يقوم استنساخ الكائن المحمي () بإلقاء CloneNotSupportedException |
في حالة عدم قيام الاستنساخ بتطبيقه ، فإنه يقوم عمومًا بإلقاء استثناء مع "CloneNotSupportedException".
127. حدد الطبقة التي تظل فوق فئة لكل فئة؟
فئة الكائن.
128. تحديد ما إذا كانت فئة سلسلة قابلة للتغيير أو غير قابلة للتغيير؟
تمثل فئة String حالة ثابتة. لذلك بمجرد إنشاء كائن ، لا يمكن أن يتغير هذا أكثر من ذلك.
129. كيف تفرق بين فئة StringBuffer و StringBuilder؟
- StringBuilder أسرع من StringBuffer.
- تتم مزامنة StringBuffer بينما لا يتم مزامنة StringBuilder.
- يوفر StringBuffer بيئة خيط آمنة ، في حين أن StringBuilder ليس لديه القدرة على ترابط آمن.
130. ما فائدة الأسلوب toString () في جافا؟
في Java ، يقوم toString () باسترداد أو إرجاع تمثيل السلسلة من أي كائن.
131. ما هو جمع القمامة في جافا؟
نظرًا لتخصيص الكائنات ديناميكيًا عبر المشغل ، يتعامل نظام Java أيضًا مع إلغاء تخصيص الذاكرة المستخدمة تلقائيًا في حالة عدم وجود مراجع للكائن الذي يبقى لفترة طويلة. تُعرف عملية الحفاظ على النظام خاليًا من الكائنات التي ليس لها استخدام باسم Garbage Collection في Java. الهدف الرئيسي من جمع البيانات المهملة هو جعلها أكثر كفاءة في إدارة الذاكرة.
132. ما هو عدد المرات التي يقوم فيها جامع البيانات المهملة باستدعاء طريقة finalize () لكائن معين؟
يمكنك استدعاء طريقة finalize () في مجموعة البيانات المهملة مرة واحدة فقط.
133. تحديد طرق استدعاء جمع القمامة.
هناك طريقتان لاستدعاء المجموعة المهملة:
- System.gc ()
- Runtime.getRuntime (). gc ()
134. هل يمكننا فرض جمع القمامة؟
لا ، هذه عملية تلقائية. يمكنك استدعاء طريقة جمع البيانات المهملة ولكن لا يمكنك إجبارها. ومع ذلك ، فإنه لا يضمن اكتمالها.
135. ما هي أنواع البيانات المختلفة في Java؟ يشرح.
فيما يلي قائمة مختصرة لمساعدتك في أنواع البيانات:
- بايت - 8 بت
- قصير - 16 بت
- شار - 16 بت Unicode
- int - 32 بت (عدد صحيح)
- تعويم - 32 بت (رقم حقيقي)
- طويل - 64 بت (دقة واحدة)
- مزدوج - 64 بت (دقة مزدوجة)
136- تحديد Unicode.
Unicodes هي طريقة لتعريف الأحرف الدولية في اللغات البشرية ، وتستخدم Java بنية Unicode هذه لترميز الأحرف.
137. تحديد الحرفي.
الحرفي هو قيمة ثابتة مخصصة لمتغير معين
// هنا 105 هو حرفي عدد int = 105 |
138. تحديد نوع الصب في جافا؟

في حالة تعيين قيمة من نوع بيانات إلى نوع بيانات آخر ، قد يكون هذان النوعان متوافقين أو غير متوافقين ويتطلبان التحويل. سيتم تحويل Java تلقائيًا في حالة وجود أنواع بيانات متوافقة. بينما إذا كانت أنواع البيانات غير متوافقة ، فيجب أن يتم تحويلها من أجل تحويل ناجح. الصب نوعان أساسيان: ضمني وصريح.
139. شرح نوعين مختلفين من التلبيس؟
- ضمنيًا: يحدد تخزين القيم من أنواع البيانات الأصغر إلى أنواع بيانات أكبر ، يتم إجراؤها بواسطة المترجم فقط.
- صريح: يحدد تخزين القيم من أنواع البيانات الأكبر إلى أنواع البيانات الأصغر التي قد تؤدي إلى فقدان المعلومات.
خاتمة
ستوفر أسئلة مقابلة Java أعلاه بداية جيدة للتحضير للمقابلة. تدرب على مهاراتك في الترميز أيضًا ، وتأكد من أن تكون دقيقًا في هذه الأسئلة والمفاهيم ذات الصلة ، بحيث تكون جاهزًا للفوز بالجولة مع A. (غير واضح) أنفاس عندما تقدم نفسك أمام القائم بإجراء المقابلة.
إذا كنت مهتمًا بمعرفة المزيد حول Java ، وتطوير البرامج المتكاملة ، فراجع برنامج upGrad & IIIT-B التنفيذي PG في تطوير البرمجيات - التخصص في تطوير المكدس الكامل المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، أكثر من 9 مشاريع ، ومهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.
أتمنى لك كل خير! آمل أن تكسر مقابلاتك !!