JavaRush /جاوا بلاگ /Random-UR /لیول 21۔ لیول کے موضوع پر انٹرویو کے سوالات کے جوابات
zor07
سطح
Санкт-Петербург

لیول 21۔ لیول کے موضوع پر انٹرویو کے سوالات کے جوابات

گروپ میں شائع ہوا۔
لیول 21۔ لیول - 1 کے موضوع پر انٹرویو کے سوالات کے جوابات
  1. کلاس کے طریقوں کی فہرست بنائیںObject

    • equals()
    • hashCode()
    • toString()
    • getClass()
    • notify()
    • notifyAll()
    • wait()
    • wait(long timeOut)
    • wait(long timeOut, int nanos)
  2. equalsاور طریقوں کی ضرورت کیوں ہے hashCode؟

    اشیاء کا موازنہ کرنے کے لیے استعمال کیا جاتا ہے۔

    اس طریقہ کار کا مقصد equalsیہ معلوم کرنا ہے کہ آیا اشیاء کے اندرونی مواد کا موازنہ کرکے اشیاء اندرونی طور پر ایک جیسی ہیں۔ یہ equalsآہستہ آہستہ کام کرتا ہے، سب سے پہلے اشیاء کے ہیش کوڈز کا موازنہ کیا جاتا ہے، اور اگر ہیش کوڈز برابر ہیں، تو اس کے خلاف چیک کیا جاتا ہے۔equals

  3. اگر آپ برابر کو اوور رائیڈ کرتے ہیں لیکن اوور رائڈ نہیں کرتے ہیں تو کیا ہوگا hashCode؟

    ابتدائی طور پر hashCode، ایک بے ترتیب نمبر۔

    جاوا میں مجموعے ہمیشہ استعمال کرتے ہوئے اشیاء کا موازنہ کرنے سے پہلے equalsطریقہ استعمال کرتے ہوئے ان کی تلاش/ موازنہ کرتے ہیں hashCode()۔ اور اگر ایک جیسی اشیاء مختلف ہیں hashCode، تو اشیاء کو مختلف سمجھا جائے گا - ان کا استعمال کرتے ہوئے موازنہ کرنا ممکن نہیں ہوگا equals۔

  4. طریقے کیوں ہیں wait, notify, notifyAll?

    کبھی کبھی کسی پروگرام میں ایسی صورت حال ہو سکتی ہے کہ تھریڈ نے کوڈ کے بلاک میں داخل کیا ہو synchronized، مانیٹر کو بلاک کر دیا ہو اور مزید کام نہ کر سکے، کیونکہ کچھ ڈیٹا ابھی تک غائب ہے: مثال کے طور پر، جس فائل پر کارروائی کرنی چاہیے وہ ابھی تک لوڈ نہیں ہوئی ہے یا اس طرح کی کوئی چیز۔ اس مسئلے کو حل کرنے کے لیے ایک طریقہ ایجاد کیا گیا wait()۔ اس طریقہ کو کال کرنے سے دھاگہ مانیٹر کی رہائی اور "توقف" کا سبب بنتا ہے۔

    غیر موقوف کرنے کے لیے، طریقے استعمال کیے جاتے ہیں notify۔ notifyAllطریقہ notifyایک بے ترتیب دھاگے کو "غیر منجمد" کرتا ہے، طریقہ notifyAll- دیئے گئے مانیٹر کے تمام "منجمد" تھریڈز۔

  5. کسی چیز کو صحیح طریقے سے کلون کیسے کریں؟

    کلوننگ کی دو اقسام۔

    ڈیفالٹ آبجیکٹ کو کلون کرنے کے لیے:

    • Cloneableاپنی کلاس میں ایک انٹرفیس شامل کریں۔
    • طریقہ کو اوور رائیڈ کریں cloneاور اس میں بنیادی نفاذ کو کال کریں:
    class Point implements Cloneable
    {
     int x;
     int y;
    
     public Object clone()
     {
      return super.clone();
     }
    }

    cloneیا آپ خود طریقہ کے نفاذ کو لکھ سکتے ہیں :

    class Point
    {
     int x;
     int y;
    
     public Object clone()
     {
      Point point = new Point();
      point.x = this.x;
      point.y = this.y;
      return point;
     }
    }
  6. طریقہ کیوں ضروری ہے finalize()اور یہ کیسے کام کرتا ہے؟

    اگر آپ کو یاد ہو تو یہ finalize()ایک خاص طریقہ ہے جسے کچرا اٹھانے والے کی جانب سے اسے تلف کرنے سے پہلے اس پر بلایا جاتا ہے۔

    اس طریقہ کار کا بنیادی مقصد استعمال شدہ بیرونی غیر جاوا وسائل کو جاری کرنا ہے: بند فائلیں، I/O اسٹریمز وغیرہ۔

    finalize()غیر مستحکم کام کرتا ہے.

    یہ طریقہ اس پر رکھی گئی توقعات پر پورا نہیں اترتا۔ جاوا مشین کسی چیز کی تباہی میں تاخیر کر سکتی ہے، ساتھ ہی کسی طریقہ کی کال کو، finalizeجب تک وہ چاہے۔ اس کے علاوہ، یہ اس بات کی ضمانت نہیں دیتا کہ یہ طریقہ بالکل بلایا جائے گا. بہت سے حالات میں، "اصلاح" کی خاطر اسے نہیں کہا جاتا ہے۔

  7. مختلف کیا ہے final، finally، finalize؟

    • final- ترمیم کرنے والا
    • فیلڈز کو تبدیل نہیں کیا جا سکتا، طریقے اوور رائڈ ہیں۔
    • کلاسز وراثت میں نہیں مل سکتیں۔
    • یہ ترمیم کنندہ صرف کلاسز، طریقوں اور متغیرات پر لاگو ہوتا ہے (مقامی متغیرات بھی)
    • طریقہ کے دلائل جن کو finalصرف پڑھنے کے لیے نشان زد کیا گیا ہے؛ انہیں تبدیل کرنے کی کوشش کے نتیجے میں تالیف کی خرابی ہوگی۔
    • Переменные final не инициализируются по умолчанию, им необходимо явно присвоить meaning при объявлении or в конструкторе, иначе – ошибка компиляции
    • Если final переменная содержит ссылку на an object, an object может быть изменен, но переменная всегда будет ссылаться на тот же самый an object
    • Также это справедливо и для массивов, потому что массивы являются an objectми, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив
    • Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции
    • Так How final класс не может наследоваться, его методы никогда не могут быть переопределены

    finally — блок в связке try-catch-finally, code в котором выполнится независимо от того вылетело ли исключение в блоке try or нет. Используется для освобождения ресурсов.

    finalize — метод в классе Object см 6.

  8. What такое try-with-resources?

    Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются an objectы. Эти an objectы можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось or было исключение, для an object, созданного внутри круглых скобок (), будет вызван метод close();

  9. Чем отличаются методы wait(1000) и sleep(1000)?

    sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE

    wait() меняет состояние потока на WAITING

    может быть вызвано только у an object владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку . в случае wait(int) с аргументом состояние будет TIMED_WAITING

  10. В чем отличие i++ и ++i?

    • ++i, i сначала увеличивается на 1, затем участвует в выражении.
    • i++, i сначала участвует в выражении, затем увеличивается на 1.
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION