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

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

گروپ میں شائع ہوا۔
میں نے اپنی مقامی تلاش کا استعمال کرتے ہوئے سائٹ کو تلاش کیا اور گوگل کا استعمال کرتے ہوئے سب کچھ تلاش کیا - اس سطح کے سوالات کے کوئی جواب نہیں ہیں۔ شاید میں نے کچھ یاد کیا، اور وہ اب بھی سائٹ پر کہیں موجود ہیں!؟ لیول 34۔ لیول - 1 کے موضوع پر انٹرویو کے سوالات کے جواباتصرف اس صورت میں، میں وہ جوابات منسلک کر رہا ہوں جو میں نے اپنے لیے لکھے ہیں: انٹرویو کے لیے سوالات:
  1. کچرا جمع کرنا کیا ہے؟
  2. طریقہ کب کہا جاتا ہے finalize؟
  3. finalizeاگر کسی طریقہ میں کوئی استثناء واقع ہو تو کیا ہوتا ہے ؟
  4. کیا ہوا SoftReference؟
  5. کیا ہوا WeakReference؟
  6. کیا ہوا PhantomReference؟
  7. یہ کیسے کام کرتا ہے WeakHashMap؟ یہ کہاں استعمال ہوتا ہے؟
  8. آپ کو کنسٹرکٹر کو قطار منتقل کرنے کی ضرورت کیوں ہے PhantomReference؟
  9. آپ کو ایک لاگر کی ضرورت کیوں ہے؟
  10. آپ کو کون سی لاگر کی ترتیبات معلوم ہیں؟
میرے جوابات:
  1. یہ غیر ضروری اشیاء کو تباہ کرنے کا طریقہ کار ہے۔ غیر ضروری اشیاء غیر استعمال شدہ اشیاء ہیں۔ ایسی اشیاء کو تلاش کرنے کے دو طریقے ہیں: حوالہ شمار اور ٹریسنگ۔ پہلی صورت میں، ہر آبجیکٹ ایک متغیر سے منسلک ہوتا ہے جو اس آبجیکٹ کے حوالہ جات کی تعداد کو محفوظ کرتا ہے۔ اگر یہ تعداد صفر تک گر جائے تو اس چیز کو مردہ سمجھا جاتا ہے۔ دوسری صورت میں، ردی کی ٹوکری جمع کرنے والا اس پورے درخت کو عبور کرتے ہوئے، روٹ پوائنٹس سے آخر تک (نیل ویلیو تک) آبجیکٹ کے حوالہ جات کی پیروی کرتا ہے۔ وہ اشیاء جن تک یہ جڑ سے نہیں پہنچ سکتی انہیں مردہ سمجھا جاتا ہے۔ روٹ پوائنٹس تمام ایکٹو تھریڈز ہیں، بنیادی طریقہ، طریقہ کار کے دلائل main()، نیز کلاس کے تمام جامد متغیرات جس میں طریقہ واقع ہے main()۔

    اس بات کا تعین کرنا کہ کون سی اشیاء تباہی کے قابل ہیں کوڑا اٹھانے والے کے کام کا صرف پہلا حصہ ہے۔ دوسرا حصہ دراصل انہیں ڈیلیٹ کرنا اور میموری کے ساتھ کام کرنا ہے۔ یہاں ایک ہائبرڈ طریقہ استعمال کیا گیا ہے۔ آبجیکٹ کے لیے دستیاب تمام میموری کو تین شعبوں میں تقسیم کیا گیا ہے: نوجوان اشیاء کا رقبہ، پرانی اشیاء کا رقبہ اور مستقل اشیاء کا رقبہ (یہ کلاسز، میٹا ڈیٹا، اندرونی تار وغیرہ ہیں)۔ پہلے علاقے کو مزید تین ذیلی علاقوں میں تقسیم کیا گیا ہے: ایڈن اور سروائیور اسپیس 1 اور 2۔ ایڈن تمام نئی تخلیق شدہ اشیاء کو اسٹور کرتا ہے۔ بقیہ دو زون ایسی اشیاء کو ذخیرہ کرتے ہیں جو آخری کچرا اٹھانے سے بچ جاتے ہیں۔ کوڑا اٹھانے والا اس پورے علاقے (نوجوان اشیاء کا علاقہ) کے ساتھ مندرجہ ذیل کام کرتا ہے۔ اگلی کچرا اٹھانے کے دوران، وہ ایڈن کے علاقے میں زندہ اشیاء تلاش کرتا ہے اور انہیں دوسرے زندہ بچ جانے والے علاقے میں نقل کرتا ہے۔ اس کے بعد، وہ پہلے علاقے میں زندہ اشیاء کو بھی تلاش کرتا ہے اور انہیں یا تو زندہ بچ جانے والوں کے دوسرے علاقے میں نقل کرتا ہے، یا، اگر وہ پہلے ہی کافی "پرانی" ہیں تو، پرانی نسل کے علاقے میں۔ اس کے بعد، وہ ایڈن کے علاقے اور پہلے بچ جانے والے علاقے کو صاف کرتا ہے۔ اس کے بعد، وہ بچ جانے والوں کے دوسرے علاقے کو پہلا سمجھتا ہے۔ اور بس، اس علاقے کے لیے کوڑا اٹھانا ختم ہو جاتا ہے۔

    Для второй области сборка мусора идёт несколько по-другому. Там есть одна большая область, она ни на что не делится, но сборщик мусора все живые an objectы в ней во время своей работы перемещает в начало области. Соответственно, вторая часть области будет состоять только из пустого пространства и мёртвых an objectов. После этого сборщик мусора завершает свою работу.

  2. Перед уничтожение an object сборщиком мусора. Также можно вручную запустить вызовы этого метода у всех недостижимых an objectов, для этого надо вызвать метод System.runFinalization() or Runtime.getRuntime().runFinalization().

  3. Это исключение будет проигнорировано, и произойдёт выход из метода.

  4. SoftReference переводится How "мягкая link". Эта link на an object, но более слабая, чем обычная link (StrongReference). Объекты, на которые сущесвуют только мягкие ссылки, называются мягcodeостижимыми. Такие an objectы не уничтожаются в обычном случае. Но если у JVM закочиналась память, то сборщик мусоры удаляет все такие an objectы.

  5. WeakReference — это так называемая слабая link на an object. Она ещё слабее Soft-ссылки. Все an objectы, на которые существуют только слабые ссылки, будут удалены при ближайщей сборке мусора.

  6. PhantomReference — это самая слабая link. Механизм работы с такими link запускается только если на an object нет больше ниHowих других ссылок. Призрачные ссылки используются для сложной proceduresы удаления an object. Это может быть необходимо, если an object делает что за граница Java-машины, например, вызывает низкоуровневые функции ОС or пишет своё состояние в файл, or делает ещё что-то важное и сложное.

    Механизм работы с такими linkми следующий. Если на an object не осталось больше ниHowих других ссылок, и у него переопределён метода finalize(), то этот метода будет вызван во время ближащей сборки мусора. Если же этот метод не переопределён, то этот an object пропускает текущую сборку мусора, и попадает только в следующую. Во время этой (следующей) сборки мусора данный an object помещается в очередь призрачных an objectов, из которой будет удалён, когда у его призрачной ссылки вызовут метод clear(). Также стоит отметить, что метода get() у призрачной link всегда возвращает null (в отличие от двух других несильных ссылок, у которых он возвращает null, только если an object уже уничтожен).

  7. WeakHashMap — это HashMap, у которого ключами являются слабые ссылки. Поэтому, если во время ближайшей сборки мусора будет обнаружено, что на an object существует только link в WeakHashMap, то из WeakHashMap будет удалена вся пара "ключ-meaning", связанная с этим an objectом.

    В связи с этим данная коллекция может быть использована для хранения Howой-то дополнительной, не очень важной информации об an objectе. Также её удобно использоваться для хранения Howой-то временной информации (которая нужная только в рамках данной операции).

  8. Эта очередь используется для отслеживания того, что an object больше не нужен. Может быть использовано для закрытия ресурсов, открытых данным an objectом (например, удаление созданных файлов).

  9. پروگرام کے رویے کے ساتھ ساتھ اس کی کچھ ریاستوں کے بارے میں معلومات کو محفوظ کرنے کے لیے ایک لاگر کی ضرورت ہوتی ہے۔ ڈیبگنگ اور پروگرام کی غلطیوں اور ناکامیوں کی نشاندہی کے لیے استعمال کیا جا سکتا ہے۔ لاگر ڈویلپر کو اپنے پروگرام کے چلنے کے دوران اس سے فیڈ بیک حاصل کرنے کی بھی اجازت دیتا ہے۔ اس کے علاوہ، اہم ناکامیوں کی صورت میں، لاگر ان ناکامیوں کے بارے میں صحیح لوگوں (مثال کے طور پر، ڈویلپرز، کلائنٹس، پروجیکٹ مینیجر، تکنیکی معاونت، وغیرہ) کو فوری طور پر مطلع کر سکتا ہے۔

  10. لاگنگ ترتیب دیتے وقت، آپ درج ذیل چیزوں کی وضاحت کر سکتے ہیں:

    • وہ جگہ جہاں معلومات لکھی جائے گی (فائل، کنسول، ڈیٹا بیس، نیٹ ورک، وغیرہ)
    • کس سطح کے پیغامات ریکارڈ کیے جائیں گے۔
    • لاگ اندراجات کی قسم
    • فائلوں کے لیے آپ وضاحت کر سکتے ہیں: فائل اور ڈائریکٹری کا راستہ، فائل کا سائز، فائلوں کی تعداد
    • ہر انفرادی پیکج کے لیے پیغامات کی اپنی سطح کی وضاحت کریں جو لاگ پر لکھے جائیں گے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION