Запитання з тегом «garbage-collection»

12
Чому компілятори автоматично не вставляють переговори?
На таких мовах, як C, програміст повинен вставляти дзвінки безкоштовно. Чому компілятор не робить цього автоматично? Люди роблять це за розумну кількість часу (ігноруючи помилок), тому це неможливо. EDIT: Для подальшого ознайомлення, ось ще одна дискусія, яка має цікавий приклад.

2
Чи генератори сміттєзбірників породжені в кеш-пам'яті?
Типовий поколільний сміттєзбірник зберігає нещодавно виділені дані в окремій області пам’яті. У типових програмах багато даних недовговічні, тому збирання молодого сміття (незначний цикл GC) часто та збирання старого сміття нечасто є хорошим компромісом між накладними витратами на пам'ять та витраченим часом на GC. Інтуїтивно зрозуміло, що користь від покоління сміттєзбірника …

7
Чому парадигма руйнування об’єктів у зібраних сміттях мовах всебічно відсутня?
Шукаєте розуміння рішень навколо зібраного мовним дизайном мови. Можливо, мовний експерт міг би мене просвітити? Я родом зі С ++, тому ця сфера для мене викликає здивування. Здається, майже всі сучасні мови, зібрані зі сміттям, підтримують об'єкти OOPy, такі як Ruby, Javascript / ES6 / ES7, Actioncript, Lua і т.д., …

4
Як сміттєзбірники уникають переповнення штабелю?
Тож я думав про те, як працюють сміттєзбірники, і думав про цікаве питання. Імовірно, збирачі сміття повинні перетинати всі споруди однаковим чином. Вони не можуть знати погоди, яку вони об’їжджають пов’язаним списком чи збалансованим деревом чи ще. Вони також не можуть використовувати занадто багато пам'яті для пошуку. Один з можливих …

2
Чи є сміттєзбірники, які враховують підкачки?
Збирання сміття має відвідувати всі живі об’єкти, щоб знайти пам’ять, яку можна відновити. (Маючи багато поколінь, це просто трохи затримує) При рівних обставинах, очевидно, краще спочатку відвідати об'єкт, який вже є підкаченим в оперативній пам’яті, перед тим, як попросити інший блок і, таким чином, підключити певний об’єкт. Можливість антера полягає …

6
Чому збирання сміття поширюється лише на пам'ять, а не на інші види ресурсів?
Схоже, люди втомилися від ручного управління пам’яттю, тому вони винайшли збирання сміття, і життя було досить гарним. А як щодо всіх інших типів ресурсів? Дескриптори файлів, сокети або навіть створені користувачем дані, такі як підключення до бази даних? Це відчувається як наївне запитання, але я не можу знайти жодного місця, …

3
Чи підрахунок посилань на GC проти трасування GC є властивістю мови чи властивістю реалізації?
Ми іноді чуємо, що "Свіфт не робить класичну (трасування) GC, вона використовує ARC". Але я не впевнений, чи є щось у семантиці Свіфта, що вимагає підрахунку посилань. Здається, що можна створити власний компілятор Swift і час виконання, щоб використовувати трасування GC. Отже, що саме "рахується" про Свіфта? Реалізація Apple чи …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.