أولا، دعونا نتحدث عن الفرق بين النهائي، وأخيرا، والنهائي.
معدل نهائي (كلمة رئيسية) إذا تم إعلان الفصل نهائيًا، فهذا يعني أنه لم يعد بإمكانه اشتقاق فئات فرعية جديدة ولا يمكن توريثه كفئة أصل. لذلك لا يمكن الإعلان عن فئة مجردة ونهائية. قم بتعريف المتغيرات أو الطرق على أنها نهائية للتأكد من عدم تغييرها أثناء الاستخدام. يجب أن تعطى المتغيرات المعلنة على أنها نهائية قيمة أولية عند الإعلان عنها، ولا يمكن قراءتها إلا في المراجع اللاحقة ولا يمكن تعديلها. يمكن أيضًا استخدام الطرق المُعلن عنها على أنها نهائية فقط ولا يمكن تحميلها بشكل زائد.
أخيرًا؟ قم بتوفير كتلة أخيرًا لإجراء أي عمليات تنظيف أثناء معالجة الاستثناء. إذا تم طرح استثناء، فسيتم تنفيذ عبارة الصيد المطابقة ويمرر التحكم إلى الكتلة الأخيرة (إذا كان هناك واحدة).
وضع اللمسات النهائية على اسم الطريقة؟ تسمح تقنية Java باستخدام طريقة Finalize() للقيام بأعمال التنظيف الضرورية قبل أن يقوم جامع البيانات المهملة بمسح الكائن من الذاكرة. يتم استدعاء هذه الطريقة بواسطة أداة تجميع مجمعي البيانات المهملة على هذا الكائن عندما تحدد أن الكائن لم تتم الإشارة إليه. يتم تعريفه في فئة الكائن، لذلك ترثه جميع الفئات. تتجاوز الفئات الفرعية طريقة Finalize() لتنظيم موارد النظام أو إجراء أعمال تنظيف أخرى. يتم استدعاء الأسلوب Finalize() على الكائن قبل أن يقوم جامع البيانات المهملة بحذفه.
ثانيا، الفرق بين HashMap وHashtable.
إنها جميع الفئات التي تنتمي إلى واجهة الخريطة وتقوم بتنفيذ تعيين مفاتيح فريدة لقيم محددة.
فئة HashMap لا تقوم بالفرز أو الفرز. يسمح بمفتاح فارغ وقيم فارغة متعددة.
يشبه Hashtable HashMap، لكنه لا يسمح بالمفاتيح الخالية والقيم الخالية. كما أنه أبطأ من HashMap لأنه متزامن.
ثالثًا، String s = new String("xyz"); كم عدد كائنات السلسلة التي تم إنشاؤها؟
يوجد كائنان، أحدهما "xyx" والآخر هو الكائن المرجعي الذي يشير إلى "xyx".
رابعًا، ما الفرق بين السكون () والانتظار () المفضل لدى Threading؟
طريقة السكون () هي طريقة توقف الخيط لفترة من الوقت. بعد انتهاء فترة السكون، لا يستأنف مؤشر الترابط التنفيذ على الفور بالضرورة. وذلك لأنه في تلك اللحظة، قد تكون سلاسل الرسائل الأخرى قيد التشغيل وليس من المقرر أن تتخلى عن التنفيذ ما لم (أ) يكون لخيط "التنبيه" أولوية أعلى
(ب) تم حظر الخيط قيد التشغيل لأسباب أخرى.
عند استخدام الانتظار () لتفاعل مؤشر الترابط، إذا أصدر مؤشر الترابط استدعاء انتظار () لكائن المزامنة x، فسيقوم مؤشر الترابط بتعليق التنفيذ وسيدخل الكائن المستدعى في حالة الانتظار حتى يتم إيقاظه أو انتهاء وقت الانتظار.
خامسا، ما هو الخطأ في s1 = 1؛؟
Short s1 = 1; s1 = s1 + 1; خطأ، s1 من النوع القصير، s1+1 من النوع int، ولا يمكن تحويله إلى النوع القصير بشكل صريح. يمكن تعديله كـ s1 =(short)(s1 + 1). القصير s1 = 1؛ s1 += 1 صحيح.
سادسا: الفرق بين التحميل الزائد والتجاوز. هل يمكن للأساليب المحملة بشكل زائد تغيير نوع قيمة الإرجاع؟
يعد تجاوز الطريقة والتحميل الزائد من المظاهر المختلفة لتعدد أشكال Java. التجاوز هو مظهر من مظاهر تعدد الأشكال بين الفئات الأصلية والفئات الفرعية، والتحميل الزائد هو مظهر من مظاهر تعدد الأشكال في الفصل. إذا كانت الطريقة المحددة في فئة فرعية لها نفس الاسم والمعلمات مثل الفئة الأصلية، فإننا نقول أن الطريقة متجاوزة. عندما يستخدم كائن فئة فرعية هذه الطريقة، فإنه سيستدعي التعريف الموجود في الفئة الفرعية، ويبدو أن التعريف الموجود في الفئة الأصلية "محمي". إذا تم تعريف أساليب متعددة بنفس الاسم في فئة ما، ولها عدد مختلف من المعلمات أو أنواع مختلفة من المعلمات، فإن ذلك يسمى التحميل الزائد للأسلوب. يمكن للطريقة المحملة بشكل زائد تغيير نوع قيمة الإرجاع.
سابعا: العناصر الموجودة في المجموعة لا يمكن تكرارها، فما هي الطريقة المستخدمة لتمييز ما إذا كانت مكررة أم لا؟ هل يجب استخدام == أو يساوي () ما الفرق بينهما؟
لا يمكن تكرار العناصر الموجودة في المجموعة، لذا استخدم طريقة iterator() لتمييز ما إذا كانت مكررة أم لا. يساوي () يحدد ما إذا كانت مجموعتان متساويتان.
تحدد أساليب يساوي () و == ما إذا كانت القيمة المرجعية تشير إلى نفس الكائن يساوي () يتم تجاوزها في الفئة لإرجاع صحيح عندما تتطابق محتويات وأنواع كائنين منفصلين.
ثامناً: ما الفرق بين الخطأ والاستثناء؟
يمثل الخطأ مشكلة خطيرة في موقف لا يكون فيه التعافي مستحيلًا ولكنه صعب. على سبيل المثال، تجاوز سعة الذاكرة. من المستحيل أن نتوقع من برنامج أن يتعامل مع مثل هذا الموقف.
يمثل الاستثناء مشكلة في التصميم أو التنفيذ. أي أنه يمثل موقفًا لن يحدث أبدًا إذا كان البرنامج يعمل بشكل طبيعي.
تاسعا، أعطني استثناء وقت التشغيل الذي تراه في أغلب الأحيان.
أريثميتيكسسيبشن، أرايستوريكسسيبشن، بوفيروفيروفيرفلويكسسيبشن، بوفيرونديرفلويكسسيبشن، كاننوتريدويكسسيبشن، كانوتوندويكسسيبشن، كلاسكاستيكسسيبشن، كميكسسيبشن، كونكورينتموديفيكاتيونكسسيبشن، دوميكسسيبشن، إمبتيستاكيكسسيبشن، إيليغالأرجومنتيكسسيبشن، إيليغالمونيتورستاتيكسسيبشن، إيليغالباثستاتيكسسيبشن، إيليغالستاتيكسسيبشن،
ImagingOpException، IndexOutOfBoundsException، MissingResourceException، NegativeArraySizeException، NoSuchElementException، NullPointerException، ProfileDataException، ProviderException، RasterFormatException، SecurityException، SystemException، UndeclaredThrowableException، UnmodifiableSetException، UnsupportedOperationException
عاشراً: العناصر الموجودة في المجموعة لا يمكن تكرارها، فما هي الطريقة المستخدمة لتمييز ما إذا كانت مكررة أم لا؟ هل يجب استخدام == أو يساوي () ما الفرق بينهما؟
لا يمكن تكرار العناصر الموجودة في المجموعة، لذا استخدم طريقة iterator() لتمييز ما إذا كانت مكررة أم لا. يساوي () يحدد ما إذا كانت مجموعتان متساويتان.
تحدد أساليب يساوي () و == ما إذا كانت القيمة المرجعية تشير إلى نفس الكائن يساوي () يتم تجاوزها في الفئة لإرجاع صحيح عندما تتطابق محتويات وأنواع كائنين منفصلين.