Описание тега finalizer

Финализатор - это специальный метод объектно-ориентированного языка, который выполняется при сборке мусора.
2 ответа

Почему константы перечисления не имеют метода finalize?

Я искал в Интернете, чтобы найти ответы на некоторые из вопросов, связанных с перечислением класса в Java. Мне было любопытно узнать о внутренностях класса enum, поэтому я открыл исходный код и нашел там несколько методов, как показано ниже: protect…
04 янв '16 в 08:15
1 ответ

Как правильно завершить объект в Фортране?

У меня есть объект, разбирающий текстовый файл. Вот моя основная программа: program main use Parser_class implicit none type(Parser) :: Parser call Parser%ProcessFile('data.txt') call Parser%Deallocate end program main где определение типа module Pa…
18 ноя '16 в 12:52
3 ответа

Финализаторы гарантированно будут вызываться в Java?

Гарантируется ли финализаторы в Java? Если он отличается от JVM до JVM, как обстоят дела с Dalvik VM для Android?
21 дек '12 в 01:16
1 ответ

C#: динамически проверить, заблокирован ли поток финализатора

Я хочу проверить, не вызвал ли один метод финализатора поток финализатора навсегда: находится ли поток финализатора в заблокированном состоянии (например, в тупике) или нет. Если есть различия в разных CLR, я сосредоточусь на стандартной платформе.N…
4 ответа

Является ли закрытие соединения наилучшей практикой?

Возможный дубликат: Зачем вам реализовывать finalize()? Я видел несколько файлов Java со следующим кодом: public void finalize() { if (conn != null) { try { conn.close(); } catch (SQLException e) { } } } Закрывает Connection в finalize метод лучшей …
13 май '12 в 20:05
1 ответ

Финализаторы для объектов JavaScript

Предположим, у меня есть некоторый код asm.js, вероятно, созданный emscripten. Предположим, что у него есть какая-то довольно большая выделенная структура кучи, которая возвращается функцией asm.js в качестве указателя, который выбирается какой-то б…
28 ноя '13 в 12:46
3 ответа

finalize() вызывается на сильно достижимом объекте в Java 8

Недавно мы обновили наше приложение для обработки сообщений с Java 7 до Java 8. После обновления мы получаем случайное исключение, что поток был закрыт во время чтения. Ведение журнала показывает, что вызов завершает поток finalize() на объекте, кот…
0 ответов

Удаление обработчиков событий COM автоматически в C#

У меня есть автономный.exe COM-сервер и тривиальная программа тестирования C#, которая запускает экземпляр сервера и сразу же закрывает его. Работает как шарм. Однако, если я закрываю саму программу C#, я получаю исключение во время выполнения финал…
24 сен '10 в 07:46
2 ответа

Это признак заблокированного финализатора

Я вижу следующий стек вызовов для потока финализатора. Это нормально иметь вызов WaitForSingleObject на вершине в финализаторе? Могу ли я в любом случае определить, действительно ли он не заблокирован или ждет очень долго? 0:009> k Child-SP RetAd…
04 сен '14 в 19:23
4 ответа

Как определить поток GC Finalizer?

У меня есть многопоточное приложение.NET (C#), и я хочу знать, работает ли определенный метод внутри потока Finalizer. Я пытался использовать Thread.CurrentThread.Name, но он не работает (возвращает ноль). Кто-нибудь знает, как я могу запросить теку…
25 ноя '08 в 18:46
1 ответ

Поведение GC несовместимо между 32-битными и 64-битными приложениями

Я заметил несогласованное поведение GC при компиляции консольных приложений как в 32-битной, так и в 64-битной среде в.Net 4.0 с использованием VS 2013. Рассмотрим следующий код: class Test { public static bool finalized = false; ~Test() { finalized…
15 май '15 в 08:05
1 ответ

Должен ли AutoCloseable Iterator для вызова ResultSet закрываться от финализатора?

У меня есть итератор, поддерживаемый ResultSet. Мне это нужно для постобработки на уровне строк. Итератор реализует интерфейс AutoCloseable. Соединение остается открытым до тех пор, пока мы не переберем все строки / итерации, прерванные пользователе…
11 мар '15 в 18:31
2 ответа

Финализаторы в Adobe Flex 3

Используя Adobe Flex 3, есть ли способ указать финализатор?
29 июл '10 в 12:51
1 ответ

Могу ли я ссылаться / использовать COM-объекты в моем финализаторе?

У меня есть тип COM (созданный с помощью tlbimp.exe) и класс C#, который обертывает этот объект. Я хочу выполнить некоторую очистку в финализаторе для моей оболочки C#. Следуя инструкциям здесь, я мог бы написать что-то вроде этого: public class MyC…
08 ноя '11 в 13:56
5 ответов

Удаление моего System.IDisposable объекта в моем финализаторе

Здесь есть несколько обсуждений о Stackru о том, что делать, если мой объект управляет другими управляемыми объектами, которые реализуют System.IDisposable, Примечание: ниже я не говорю о неуправляемом коде. Я полностью понимаю важность очистки неуп…
03 авг '15 в 07:13
2 ответа

Отладка объектов не удается завершить?

У меня есть следующий код в моем приложении, чтобы помочь мне проверить правильность завершения ViewModels: #if DEBUG static int openViewModels = 0; protected AbstractViewModel() { openViewModels++; } ~AbstractViewModel() { openViewModels--; System.…
02 май '12 в 12:57
1 ответ

Почему метод finalize вызывается 2 раза в модели калитки

В моем приложении у меня есть класс, который расширяет модель калитки и переопределяет завершенный метод (просто удалите файл, который генерируется асинхронно). Проблема в том, что завершенный метод вызывается сразу после первой загрузки страницы ка…
18 мар '16 в 17:07
3 ответа

Ограничения деструктора - доступ к управляемому члену из деструктора

Правильно ли, что в C# Destructor (Finalizer) вы не можете получить доступ к управляемым членам вашего класса? Если это правда, то почему? Какие еще ограничения финализатора C# вы знаете? Пример: class MyClass { private FileStream _fs; private IntPt…
12 мар '15 в 14:30
0 ответов

Исключение SignalR убивает службу / приложение - System.Threading.Tasks.TaskExceptionHolder.Finalize()

Я боролся с этой проблемой иногда. Служба Windows, нацеленная на.NET 4.0, создает клиент сигнализатора.NET, но иногда его убивают System.Threading.Tasks.TaskExceptionHolder.Finalize() из-за совокупного исключения, брошенного в рамках задачи. Вот сут…
3 ответа

Проблема утилизации розетки / финализации дважды?

Я работаю с некоторым кодом (не моим, я спешу добавить, я вообще не очень доверяю) для класса, который открывает сокет, делает запросы и прослушивает ответы, которые выдают исключение, каким образом я могу не понимаю, когда тестируется в xunit. Я пр…
08 янв '09 в 10:24