1. Java / Говнокод #20369

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private TableColumnDisplayManager(JTable table) {
        this.table = table;
        table.removePropertyChangeListener(this);
        table.addPropertyChangeListener(this);
        reset();
    }

    Ну, а вдруг?

    Запостил: george, 13 Июля 2016

    Комментарии (18) RSS

    • напоминает операцию "подёргивания" ++i-- XD
      Ответить
      • если i сделать volatile и с другого треда изменять i когда стартовало ++i - мир будет жить дальше?
        Ответить
        • > volatile
          > другого треда
          > мир будет жить дальше?
          Нет. Не слушай еретиков из майкрософта. Согласно стандарту ты совершишь UB и подвергнешься каре небесной.
          Ответить
          • > Согласно стандарту ты совершишь UB

            Борманд, это же жава

            Там у волатайла другая семантика: там можно volatile int i++, если всегда из одного треда.
            Ответить
          • Это же жаба. В ней почти всё можно. В ней даже модуль возвращает отрицательные числа.
            Ответить
          • что значит UB? и в последнее время, майкрософт не читаю, выпуск 2007 года последний, не мой
            Ответить
          • ГДЕ ЗДЕСЬ C++, BORMAND?
            Ответить
            • Вот тут:
              template <template <typename> typename F, typename A> struct Map {
              };
                  
              template <template <typename> typename F> struct Map<F, Nil> {
                  typedef Nil res;
              };
              
              template <template <typename> typename F, typename H, typename T> struct Map<F, Cons<H, T>> {
                  typedef Cons<typename F<H>::res, typename Map<F, T>::res> res;
              };
              Ответить
              • Копыта мне в рот

                Разве человеку в здравом разуме понадобится такое писать?
                Ответить
        • volatile в жаве не делает ++ атомарным
          Ответить
          • Ну с volatile хотя бы load/store в этом i++ будут атомарными и само число пополам не распидорасит...

            Типа было у тебя на 32-битном проце 64-битное число 0x00000000FFFFFFFF, один тред увеличил его на 1, а второй уменьшил на 1 (без синхронизации). В итоге получилось 0x00000001FFFFFFFF.
            Ответить

    Добавить комментарий