Герберт Шилдт - C# 4.0 полное руководство - 2011

Тут можно читать онлайн Герберт Шилдт - C# 4.0 полное руководство - 2011 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая старинная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Герберт Шилдт - C# 4.0 полное руководство - 2011 краткое содержание

C# 4.0 полное руководство - 2011 - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

C# 4.0 полное руководство - 2011 - читать онлайн бесплатно полную версию (весь текст целиком)

C# 4.0 полное руководство - 2011 - читать книгу онлайн бесплатно, автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

public static long

Возвращает общий объем памяти (в байтах),

GetTotalMemory(bool

выделенной на данный момент. Если параметр

forceFullCollection)

forceFullCollection имеет логическое значение true,то сначала выполняется “сборка мусора”

public static void

Создает ссылку на объект obj,защищая

KeepAlive(object obj)

его от “сборки мусора”. Действие этой ссылки оканчивается после выполнения метода

KeepAlive()

public static void Regist

Разрешает уведомление о “сборке мусора”. Зна

erForFullGCNotification(in

чение параметра maxGenerationThreshold

t maxGenerationThreshold, int

обозначает количество объектов второго поко

largeObj ectHeapThreshold)

ления в обычной “куче", которые будут инициировать уведомление. А значение параметра largeObj ectHeapThreshold обозначает количество объектов в крупной “куче", которые будут инициировать уведомление. Оба значения должны быть указаны в пределах от 1 до 99

public static void

Задает в качестве параметра bytesAllocated

RemoveMemoryPressure(long

количество байтов, освобождаемых в неуправ

bytesAllocated)

ляемой области памяти

public static void

Вызывает деструктор для объекта obj.

ReRegisterForFinalize(object

Этот метод аннулирует действие метода

obj)

SuppressFinalize()

public static void

Препятствует вызову деструктора для объекта

SuppressFinalize(object obj)

obj

public static

Ожидает уведомления о том, что должен про

GCNotificationStatus

изойти полный цикл “сборки мусора”. Здесь

WaitForFullGCApproach()

GCNotif icationStatus— перечисление, определенное в пространстве имен System

public static

Ожидает уведомления о том, что должен

GCNotificationStatus

произойти полный цикл “сборки мусора",

WaitForFullGCApproach(int

в течение времени, задаваемого пара

millisecondsTimeout)

метром millisecondsTimeout. Здесь GCNotif icationStatus— перечисление, определенное в пространстве имен System

public static

Ожидает уведомления о завершении

GCNotificationStatus

полного цикла “сборки мусора". Здесь

WaitForFullGCComplete ()

GCNotif icationStatus— перечисление, определенное в пространстве имен System

Кроме того в классе GC определяется следующее доступное только для чтения - фото 17

Кроме того, в классе GC определяется следующее доступное только для чтения свойство:

public static int MaxGeneration { get; }

Свойство MaxGeneration содержит максимальный номер поколения, доступный для системы. Номер поколения обозначает возраст выделенной области памяти. Чем старше выделенная область памяти, тем больше номер ее поколения. Номера поколений позволяют повысить эффективность работы системы " сборки мусора".

В большинстве приложений возможности класса GC не используются. Но в особых случаях они оказываются весьма полезными. Допустим, что требуется организовать принудительную "сборку мусора" с помощью метода Collect () в выбранный момент времени. Как правило, "сборка мусора" происходит в моменты, не указываемые специально в программе. А поскольку для ее выполнения требуется некоторое время, то желательно, чтобы она не происходила в тот момент, когда решается критичная по времени задача. С другой стороны, "сборку мусора" и другие вспомогательные операции можно выполнить во время простоя программы. Имеется также возможность регистрировать уведомления о приближении и завершении "сборки мусора".

Для проектов с неуправляемым кодом особое значение имеют два следующих метода из класса GC: AddMemoryPressure () и RemoveMemoryPressure (). С их помощью указывается большой объем неуправляемой памяти, выделяемой или освобождаемой в программе. Особое значение этих методов состоит в том, что система управления памятью не контролирует область неуправляемой памяти. Если программа выделяет большой объем неуправляемой памяти, то это может сказаться на производительности, поскольку системе ничего неизвестно о таком сокращении объема свободно доступной памяти. Если же большой объем неуправляемой памяти выделяется с помощью метода AddMemoryPressure (), то система CLR уведомляется о сокращении объема свободно доступной памяти. А если выделенная область памяти освобождается с помощью метода RemoveMemoryPressure (), то система CLR уведомляется о соответствующем восстановлении объема свободно доступной памяти. Следует, однако, иметь в виду, что метод RemoveMemoryPressure () необходимо вызывать только для уведомления об освобождении области неуправляемой памяти, выделенной с помощью метода AddMemoryPressure () .

Класс object

В основу типа object в C# положен класс object. Члены класса Object подробно рассматривались в главе 11, но поскольку он играет главную роль в С#, то его методы ради удобства повторно перечисляются в табл. 21.16. В классе object определен конструктор

public Object()

который создает пустой объект.

Таблица 21.16. Методы, определенные в классе Object

Метод

Назначение

public virtual bool

Возвращает логическое значение true,если вы

Equals(object obj)

зывающий объект оказывается таким же, как и объект, определяемый параметром obj. В противном случае возвращается значение false

public static bool Equals(object

Возвращает логическое значение true,если

obj A, object objB)

объект obj А оказывается таким же, как и объект objB. В противном случае возвращается значение false

protected Finalize()

Выполняет завершающие действия перед процессом “сборки мусора”. В C# метод Finalize ()доступен через деструктор

public virtual int

Возвращает хеш-код, связанный с вызывающим

GetHashCode()

объектом

public Type GetTypeO

Получает тип объекта во время выполнения программы

protected object

Создает “неполную” копию объекта. При этом ко

MemberwiseClone()

пируются члены, но не объекты, на которые ссылаются эти члены

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0 полное руководство - 2011 отзывы


Отзывы читателей о книге C# 4.0 полное руководство - 2011, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x