Size: a a a

2021 March 05

SI

Sagid Irkkuev in pro.jvm
Алексей
Как и 100 ифов или 100 интерфейсов в мапе. Сам факт такой задачи странен. Поэтому я спросил что там внутри ифов. Неужели нельзя это иначе переписать? Или там в каждом ифе уникальный код?
Решаю через подход который ребята выше изложили, так то в итоге кода на пару строчек получится..
источник

А

Алексей in pro.jvm
Sagid Irkkuev
Решаю через подход который ребята выше изложили, так то в итоге кода на пару строчек получится..
Ну кода не на пару строчек. Это в этом месте на пару строчек, а в другом даже больше чем раньше. Но подход верный, раз в ифах уникальный код
источник

SI

Sagid Irkkuev in pro.jvm
Алексей
Ну кода не на пару строчек. Это в этом месте на пару строчек, а в другом даже больше чем раньше. Но подход верный, раз в ифах уникальный код
!)
источник

II

Ivan Ivanov in pro.jvm
OxFAB
А зачем?
У меня в классе используется статический конструктор
Gauge.builder(...).tag("type", "gauge").register(meterRegistry);

Может быть я могу проверить количество вызовов register?
источник

II

Ivan Ivanov in pro.jvm
Если нет, тогда глубже там уже вызывается пэкэдж метод
public Gauge register(MeterRegistry registry) {
           return registry.gauge(new Meter.Id(name, tags, baseUnit, description, Type.GAUGE, syntheticAssociation), obj,
                   strongReference ? new StrongReferenceGaugeFunction<>(obj, f) : f);
       }
источник
2021 March 06

O

OxFAB in pro.jvm
Ivan Ivanov
У меня в классе используется статический конструктор
Gauge.builder(...).tag("type", "gauge").register(meterRegistry);

Может быть я могу проверить количество вызовов register?
PowerMock в помощь, он такие вещи умеет делать. Там надо будет пошаманить, mock может не подойти, можно попробовать со spy поиграться
источник

II

Ivan Ivanov in pro.jvm
OxFAB
PowerMock в помощь, он такие вещи умеет делать. Там надо будет пошаманить, mock может не подойти, можно попробовать со spy поиграться
Я находил пару инструкций как сделать такой фокус через PowerMock, но они сводились к тому, чтобы передать имя метода PowerMock-у (подобно рефлексии). Проблема заключается в том, что метод перегружен. И как объяснить, что я хочу именно этот метод, а не тот я пока не понял.
источник

O

OxFAB in pro.jvm
Ivan Ivanov
Я находил пару инструкций как сделать такой фокус через PowerMock, но они сводились к тому, чтобы передать имя метода PowerMock-у (подобно рефлексии). Проблема заключается в том, что метод перегружен. И как объяснить, что я хочу именно этот метод, а не тот я пока не понял.
Вот тут выглядит рабочим, там аргументами можно определить какой метод PowerMock должен проверить
https://stackoverflow.com/questions/57971100/powermock-verifyprivate-does-not-work-with-any
источник

II

Ivan Ivanov in pro.jvm
OxFAB
Вот тут выглядит рабочим, там аргументами можно определить какой метод PowerMock должен проверить
https://stackoverflow.com/questions/57971100/powermock-verifyprivate-does-not-work-with-any
Спасибо, попробую. 🙂
источник

VS

Vladimir S in pro.jvm
И константное время доступа к нужному консюмеру заменить линейным?)
источник

AV

Alexei Vinogradov in pro.jvm
А static методы, которые не используют никаких static fields (а допустим только локальные переменные) - thread-safe, правда же?
источник

Dm

Dungeon master in pro.jvm
Alexei Vinogradov
А static методы, которые не используют никаких static fields (а допустим только локальные переменные) - thread-safe, правда же?
Если 2 статика будут пытаться изменить 1 объект то где тут thread-safe?
источник

AV

Alexei Vinogradov in pro.jvm
Dungeon master
Если 2 статика будут пытаться изменить 1 объект то где тут thread-safe?
А где они будут пытаться один объект изменить?
источник

Dm

Dungeon master in pro.jvm
Так а к чему вопрос
источник

Dm

Dungeon master in pro.jvm
Что делают методы
источник

Dm

Dungeon master in pro.jvm
Threadsafe о доступе к объекту из разных потоков
источник

AV

Alexei Vinogradov in pro.jvm
Ну там условно говоря

int i=0;
Integer k=new Integer(0);
i=5;
k=k+3;
sout(i,k);
источник

AV

Alexei Vinogradov in pro.jvm
Всегда sout(5,3) выйдет
источник

Dm

Dungeon master in pro.jvm
Threadsafe применяется в контексте где из разных потоков идёт манипуляции с одним и тем же объектом, как тот же map или список. А если статик метод плюсует 2 числа или генерит рандом число то тут вообще о потокобезопасности можно не говорить
источник

Dm

Dungeon master in pro.jvm
Но по сути то они потокбезопасные
источник