Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 [9] 10 11 12   вперед  Ctrl      все
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
WebPrj,

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

public static class GlobalTimer {
    public static event EventHandler Tick;

    // .......
    // .......
}

public class MyForm: Form {
   public MyForm() {
        GlobalTimer.Tick += timer_Tick;
   }

   // ......
   // ......
}


Пользователь стопиццот раз откроет и закроет эту форму и все стопиццот экземпляров её объекта останутся висеть в памяти до конца работы приложения. Но это ведь тоже не утечка памяти, так ведь?
11 май 19, 14:08    [21882474]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
fkthat,
На оба твоих поста короткий ответ
1. Веб обсуждается в другой ветке.
2. Я глобальный таймер не ставлю.
11 май 19, 18:17    [21882528]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
WebPrj
fkthat
пропущено...


Объекты Foo никогда освобождены не будут, потому что указатели на них сохранены в статической (т.е. глобальной переменной). Пока их оттуда руками не уберешь, то они так и будут там висеть, пока приложение не завершится. Если такая шляпа происходит, например в веб-приложении, то в итоге будет жопа - я на практике такое наблюдал и даже не раз. А так-то можно сказать, что, типа, да, утечек вообще никогда не бывает, потому что из приложения, типа, все равно когда-нибудь выйдем и память при этом освободится, по-твоему так, что ли?

Именно это и нужно программисту при статик.
Освобождение памяти при завершении процесса.
повторяю. Это десктоп.
11 май 19, 18:19    [21882529]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
WebPrj,

У тебя очень странные понятия о том, что такое "утечка памяти". Ладно, бог с тобой, переубеждать не буду - мне за это денег не платят.
11 май 19, 18:38    [21882533]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
fkthat,
Пример утечки?
Что есть по диагностике потребления памяти приложением?
11 май 19, 19:06    [21882541]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
WebPrj,

Предлагаю тогда обратиться к разработчикам .NET c предложением вообще убрать оттуда GC - зачем там этот лишний оверхед.
11 май 19, 19:07    [21882542]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
fkthat
WebPrj,

Предлагаю тогда обратиться к разработчикам .NET c предложением вообще убрать оттуда GC - зачем там этот лишний оверхед.
оверхед это когда нет баланса преимущества - недостатки.
11 май 19, 19:20    [21882544]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
WebPrj
fkthat
WebPrj,

Предлагаю тогда обратиться к разработчикам .NET c предложением вообще убрать оттуда GC - зачем там этот лишний оверхед.
оверхед это когда нет баланса преимущества - недостатки.

перечитал пять раз, ни фига не понял фразы
11 май 19, 19:43    [21882549]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
Дмитрий Мух,
Перевожу.
Нет баланса, это например, преимуществ не имеем или не требуется, а недостатки в наличии.
11 май 19, 19:47    [21882550]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
ViPRos
Member

Откуда:
Сообщений: 9536
ВМоисеев
>ViPRos, вчера, 17:28 [21882180]
>е***ь мозг всякими лаунчерами
<Интересно, чем же тебя так достал пускач. У меня инфосистема реализуется многими приложениями, а к ним надо иметь доступ, их надо запускать, надо смотреть за их изменениями. Этим и занимается лаунчар. Что здесь плохого - то?

да ничего
просто мы это уже давно знаем
а тут Мух спросил именно про это (мне показалось)
оказалось вопрос был обращен не к тебе
11 май 19, 20:05    [21882554]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
ViPRos
Member

Откуда:
Сообщений: 9536
fkthat
WebPrj
Именно это и нужно программисту при статик.
Освобождение памяти при завершении процесса.

А серверных приложений у нас не бывает вообще? Или ты уроки, где про них рассказывали, прогулял? :))

так и хотся бипнуть
мало того что фигни морозит, да еще и других пытается прибить
11 май 19, 20:08    [21882555]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
WebPrj
Дмитрий Мух,
Перевожу.
Нет баланса, это например, преимуществ не имеем или не требуется, а недостатки в наличии.

Дак найдите себе этот самый баланс, в чём проблема?
11 май 19, 20:50    [21882563]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
Дмитрий Мух,
У меня нет проблемы).
11 май 19, 21:25    [21882571]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6186
Дмитрий Мух
WebPrj
пропущено...
оверхед это когда нет баланса преимущества - недостатки.

перечитал пять раз, ни фига не понял фразы
Есть ручное управление, есть ARC, есть GC.
12 май 19, 00:09    [21882602]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6186
fkthat
WebPrj,

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

+
public static class GlobalTimer {
    public static event EventHandler Tick;

    // .......
    // .......
}

public class MyForm: Form {
   public MyForm() {
        GlobalTimer.Tick += timer_Tick;
   }

   // ......
   // ......
}


Пользователь стопиццот раз откроет и закроет эту форму и все стопиццот экземпляров её объекта останутся висеть в памяти до конца работы приложения. Но это ведь тоже не утечка памяти, так ведь?

Именно так. Это не утечка, это архитектурный про*б.
У тебя проблема с терминологией. Есть еще <memory hog>
12 май 19, 00:39    [21882616]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
WebPrj
оверхед - это когда нет баланса между преимуществами и недостатками

если куча преимуществ - оверхед
если множество недостатков - оверхед

у вас, говорите, нет проблем? Картинка с другого сайта.
12 май 19, 12:31    [21882703]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Siemargl
Именно так. Это не утечка, это архитектурный про*б.

Это ошибка программирования которая приводит к утечке памяти. Есть инструменты, которые препятствуют допущению ошибок, а есть, которые нет. И статики, это как раз то, что не препятствует.
Siemargl
У тебя проблема с терминологией. Есть еще <memory hog>

Давай, без всякой оруелловщины обходиться, назови это как хочешь, но есть просто факт, что через статик можно легко получить ситуацию, когда уже ненужный объект остаётся в памяти и никогда не идёт в мусорку, пока процесс не завершается. Три раза за свою жизнь расследовал такую херь, и все три раза дело было в статиках.
12 май 19, 13:47    [21882739]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Кстати, статикофилы, если вы их так хорошо знаете, то сможете без гугла сказать, в чем отличие

static сlass Foo {
   public static int TheAnswerToEverything = 42;
}


и

static сlass Foo {
   public static int TheAnswerToEverything = 42;

   static Foo() {
      // Это действительно пустой конструктор
   }
}
12 май 19, 14:01    [21882746]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
WebPrj
2. Я глобальный таймер не ставлю.

Я понял. Ты герой-одиночка, что сам без команды пишет свою никому не нужную нетленку.
12 май 19, 14:04    [21882748]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
fkthat
Ты герой-одиночка, что сам без команды пишет свою никому не нужную нетленку.

Как быстро ты съехал на личности. Буквально на 4-м ходу в шахматы.
12 май 19, 15:42    [21882766]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
WebPrj
Member [заблокирован]

Откуда:
Сообщений: 376
Дмитрий Мух,
Если вы сказали что непонимаете, зачем вы пытаетесь понять?
Siemargl все понял сразу).
12 май 19, 15:45    [21882768]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
fkthat
WebPrj
2. Я глобальный таймер не ставлю.

Я понял. Ты герой-одиночка, что сам без команды пишет свою никому не нужную нетленку.
когда так отвечает ни разу не писавший десктоп, это смешно).
Продолжайте вдвоем.
12 май 19, 15:56    [21882771]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
WebPrj
Siemargl все понял сразу).
Крочавчег.
Зачастую случается угадывать то, что подразумевает человек, даже если он полную фигню говорит Картинка с другого сайта.

Вот опять, что за забавный вопрос:
WebPrj
Если вы сказали что непонимаете, зачем вы пытаетесь понять?"Если вы сказали что непонимаете, зачем вы пытаетесь понять?

Я написал, что не понимаю именно за тем, чтобы получить объяснение.
Вы с логикой вообще дружите?
12 май 19, 16:34    [21882792]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
fkthat
Member

Откуда:
Сообщений: 1143
Petro123
когда так отвечает ни разу не писавший десктоп, это смешно).

Куда уж нам, дилетантам, до вашего десктопа и вашего "Button-click Driven Development".
12 май 19, 16:41    [21882797]     Ответить | Цитировать Сообщить модератору
 Re: Инициализация статического класса  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
Petro123
fkthat
пропущено...

Я понял. Ты герой-одиночка, что сам без команды пишет свою никому не нужную нетленку.
когда так отвечает ни разу не писавший десктоп, это смешно).
Продолжайте вдвоем.

Неделю в бане с нетерпением ждал, чтобы как попугай продолжить: "Ты десктоп не писал, десктоп не писал..." :)
12 май 19, 16:45    [21882802]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 [9] 10 11 12   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить