Обновить
256K+

Java *

Объектно-ориентированный язык программирования

299,92
Рейтинг
Сначала показывать
Порог рейтинга

Первые статьи сезона Java one love прибыли! Не далее чем на этой неделе стартовал новый сезон Java, а у нас уже два хардкорных джависта.

Правда ли, что загрузка класса не всегда сопровождается его проверкой и инициализацией? Или как осуществить переезд с MySQL на PostgreSQL с вынесением независимых бизнес-процессов из монолита в микросервисы?

Наш первые участники сезона проясняют весьма тонкие нюансы устройства Java-мира и выполняют невероятные трюки over-engineering’а:

?‍?‍?‍? Разница между загрузкой и инициализацией классов в Java на любопытном примере

? Одна из возможных версий переезда с MySQL на PostgreSQL

Если вы тоже хотите поделиться опытом, ждём ваших статей на Хабре. Сезон длится до 15 сентября.

Спонсор Сезона Java one love — Мир Plat.Form.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Довольно частый сценарий использования атомиков в качестве счётчиков выглядит так:

  • Запускаем длительную обработку чего-либо

  • Долго и нудно его инкрементим

  • По завершению один раз читаем (ну, либо, читаем с некоторой периодичностью, для отображения прогресса)

А так как отдельно метода increment() у него нет, то используются штатные getAndIncrement() либо incrementAndGet() без использования возвращаемого значения. Например:

public void frequentlyCalledMethod(){    
    doSomeWork();    
    counter.incrementAndGet();
}

Или может getAndIncrement()? Хм… А в чём, собственно, разница, кроме очевидного из имени методов?

public final int incrementAndGet() {
   return U.getAndAddInt(this, VALUE, 1) + 1;
}
public final int getAndIncrement() {
   return U.getAndAddInt(this, VALUE, 1);

}

Ну вы поняли…

Мелочь конечно, но если всё равно отбрасываем результат, то зачем нам лишняя операция?

Всего голосов 8: ↑8 и ↓0+8
Комментарии0
12 ...
8