четверг, 11 октября 2012 г.

Источники о сборке мусора в .NET

Я тут недавно проводил курс по сборке мусора и в результате накопилось немалое количество источников, которые были бы полезны любому, кто хочет освоить эту тему более подробно. Ну, а чтобы дело не пропадало даром, я думаю будет здорово этими источниками поделиться.

Книги

  1. Under the Hood of .NET Memory Management by Chris Farrell and Nick Harrison
    Книга не большая (225 страниц), посвященная сборке мусора на платформе .NET и описанию типовых проблем работы с памятью и советов по их устранению. Очень неплохая книга, с достаточной глубиной изложения, но без особых дебрей и заумностей; основные моменты изложены хорошо, но я бы посоветовал относиться с осторожностью к некоторым советам по оптимизации и не забывать, что к ним нужно приступать только после профилирования.
    Электронная версия книги свободна доступна в Сети.
  2. Advanced .NET Debugging by Mario Heward
    Книга не по сборке мусора непосредственно, но в ней покрыты очень многие низкоуровневые детали, которые можно «пощупать» с помощью отладки. Очень толково написано, хотя иногда бывает перебор с количеством низкоуровневых деталей.
  3. Pro .NET Performance by Sasha Goldstein at al
    Интересная книга по производительности в целом, но и с разделом по сборке мусора. Книга кажется очень интересной, а точное мнение о ней, я надеюсь у меня появится через месяц-другой после ее прочтения.
  4. CLR via C# by Jeffrey Richter
    Классика. Хотя в этом плане здесь не менее полезной будет практически любая хорошая книга по языку C# и платформе .NET. C# 4 Unleashed, например, тоже подойдет для знакомства с этой темой.

Статьи

Ниже представлены наиболее интересные статьи (и серии статей) о внутреннем устройстве CLR и сборке мусора в .NET.

  1. Series on dynamic memory management – отличная серия статей о сборке мусора.
  2. Notes on CLR Garbage Collector – небольшая, но весьма емкая статья о сборке мусора, да еще и с кучей полезных ссылок в конце.

Dispose Pattern

  1. Programming Stuff. Dispose Pattern

Блоги

Далеко не каждый из представленных ниже блогов сейчас активно развивается, но в них накопилось очень много интересного материала. Я рекомендую открывать первый попавшийся блог, сортировать посты по наибольшему количество просмотров и зарываться в любую заинтересовавшую вас тему. Не все в них посвящено сборке мусора, но полезной информации там очень и очень много.

  1. Maoni’s Weblog – CLR Garbage Collector. Лучший блог по теме GC. Не зря он идет первым, если хотите копнуть поглубже в этой теме, то лучшей стартовой точки не найти!
  2. Rico Mariani’s Performance Tidbits. Огромное количество статей об эффективности, а поскольку GC играет в ней не последнюю роль, то эта тема встречается в постах довольно часто.
  3. All Your Base Are Belong To Us. Очень интересный блог от Sasha Goldstein, автора книги Pro .NET Performance. Много всего о внутренностях .NET Framework и о GC в частности.
  4. Joe Duffy’s Weblog. Отличный блог автора книги Concurrent Programming on Windows, посвящен в основном многопоточности, но есть и много других интересных тем, включая сборку мусора.
  5. If broken it is, fix it you should. Довольно интересный блог Tess Frerandez об отладке, памяти и всяких низкоуровневых вещах.

Вот некоторые понравившиеся посты:

UPDATE:

  1. Chris Brumme – Finalization

Видео

  1. Pluralsight - .NET Internals and Advanced Debugging Techniques by Mario Heward. Курс по одноименной книге Марио Хеварда.

Это далеко не полный и/или исчерпывающий список ссылок, поэтому если вы знаете другие интересные источники по этой теме, то смело оставляйте их в комментариях, я внесу их в пост.

5 комментариев:

  1. Спасибо за отличную подборку! Не подскажете, где можно копнуть о том же, но для JVM?

    ОтветитьУдалить
  2. @Violator: Ничем, кроме гугла я помочь не могу. По запросу сразу видно куча разных интересных статей, включая статьи с ibm.com, которые славятся своей глубиной.

    ОтветитьУдалить
  3. я бы упомянула еще блог
    http://stevesouders.com/

    ОтветитьУдалить
  4. Посмотреть видео о сборке мусора в .NET можно тут http://www.enterra.ru/blog/garbagecollectorindotnet/

    ОтветитьУдалить