на начало
На главную страницу
Форум   

Автоматическая сборка мусора: ликвидация утечки памяти

страницы в данном разделе 
» Глава 1 » .NET и изменение парадигмы
» Автоматическая сборка мусора: ликвидация утечки памяти » Трудности перехода на VB .NET
» Глава 1. Введение »  

Статья :: Автоматическая сборка мусора: ликвидация утечки памяти

Автоматическая сборка мусора: ликвидация утечки памяти

 

Автоматическая сборка мусора: ликвидация утечки памяти

У программистов, работающих на Visual Basic, всегда возникали проблемы с утечкой памяти из-за так называемых циклических ссылок (ситуация, при которой объект А ссылается на объект В, а объект В ссылается на объект А). Если появление циклических ссылок было обусловлено логикой программы, компилятор VB не распознавал их, в результате чего память, занимаемая этими объектами, не освобождалась. Система сборки мусора, встроенная в .NET CLR, решает проблему циклических ссылок иначе — интеллектуальный алгоритм обнаруживает циклические ссылки, разрывает их и освобождает занимаемую память. Конечно, за дополнительные возможности приходится платить; достоинства и недостатки автоматической сборки мусора рассматриваются в главе 4.

 

Структурная обработка ошибок

Во всех версиях Visual Basic использовался механизм обработки ошибок, появившийся в самой первой версии BASIC (с тех пор прошло почти 40 лет!). Мягко говоря, у него есть недостатки. А если выражаться откровенно, использование в современном языке программирования команды On Error Goto, неимоверно усложняющей логику программы, — сущий абсурд. В VB .NET реализована структурная обработка ошибок (см. главу 7), самый современный и мощный механизм обработки ошибок.

 

Многопоточность

Многопоточная программа выполняет несколько функций одновременно. Например, в почтовых клиентах во время приема новых сообщений можно читать старую электронную почту. Пользователи ценят подобные возможности, но в прежних версиях VB написание многопоточных приложений было очень непростой задачей. В главе 10 мы рассмотрим достоинства и недостатки этой новой, чрезвычайно мощной возможности VB .NET.

 


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
© faq.pp.ru, справочник программиста
Яндекс цитирования