Сборщик мусора.
В этой и последующих статьях мы займемся исследованием сборщика мусора в .NET (Garbage Collector, GC), одного из…
В этой и последующих статьях мы займемся исследованием сборщика мусора в .NET (Garbage Collector, GC), одного из…
Существует множество типов коллекций, хорошо известных в информатике, но не попавших в .NET Framework. Некоторые из них…
В состав .NET Framework входит большое число коллекций, но мы не ставим целью рассмотреть каждую из них…
Едва ли можно встретить программу, не использующую какую-нибудь коллекцию, такую как List<T> или Dictionary<K,V>. Крупные приложения могут…
Теперь, получив представление об особенностях размещения ссылочных типов в памяти и назначениях полей в заголовке объекта, можно…
В этой и последующих статьях рассказывается о внутреннем устройстве типов .NET, как типы значений и ссылочные типы…
Некоторые проблемы и вопросы производительности могут быть решены только с применением ручных способов измерения. Например, вам может…
Ранее мы уже рассмотрели вопросы профилирования нагрузки на CPU, времени и памяти. Именно эти характеристики являются наиболее…
Профилировщики этого типа выявляют операции выделения памяти в приложении и сообщают, какие методы выделяют больше всего памяти,…
Счетчики производительности и механизм ETW, рассмотренные ранее, позволяют получить массу любопытной информации о производительности приложений для Windows,…
Механизм трассировки событий для Windows (Event Tracing for Windows, ETW) – это высокопроизводительный фреймворк регистрации событий, встроенный…
Наши статьи по оптимизации приложений посвящены вопросам повышения производительности приложений для .NET. Следует понимать, что нельзя улучшить…
Прежде чем приступать к исследованию проблем производительности в мире .NET Framework, необходимо понять, какие характеристики производительности существуют…
Что, если необходимо создать собственный динамический объект? Для этого на выбор доступно два варианта: наследование от DynamicObject…
Представьте себе, что к приложению можно добавить возможности обработки сценариев. При этом допускается передача значений в сценарий…
Теперь давайте рассмотрим другое полезное применение ключевого слова dynamic — в контексте проекта взаимодействия с COM. Если…
Теперь, когда прояснилась суть “динамических данных”, давайте исследуем, как они обрабатываются. В версии .NET 4.0 общеязыковая исполняющая…
Вспомните, что неявно типизированные данные возможны только для локальных переменных в области определения члена. Ключевое слово var…
Ключевое слово var позволяет объявлять локальную переменную таким образом, что ее действительный тип данных определяется начальным присваиванием…
Процесс создания сложных .NET-приложений на CIL будет довольно “неблагодарным трудом”. С одной стороны, CIL представляет собой чрезвычайно…