Size: a a a

2020 July 03

ДК

Дима Красилов... in pro.jvm
How to mock a local variable with PowerMockito? - Stack Overflow
https://stackoverflow.com/questions/42361228/how-to-mock-a-local-variable-with-powermockito
источник
2020 July 04

ДК

Дима Красилов... in pro.jvm
Ну вот здесь прочитай ответ чувака, например
источник

m

milkiweed in pro.jvm
Дима Красилов
Вообще, необходимость замокать локальную переменную в общем случае значит, что у тебя такая себе организация кода. И обычно в таких случаях код меняют в угоду тому, чтобы его было проще тестировать.
Это в свою очередь модуляризирует код (чё за слово) и в дальнейшем его проще реюзать
согласен, но так уж сложилось что необходимо поддерживать уже существующий код и менять его пока нет времени
источник

m

milkiweed in pro.jvm
Дима Красилов
Ну вот здесь прочитай ответ чувака, например
спасибо большое, сейчас буду пробовать
чот упустил эту ссылку, другие со стака не особо помогли :)
источник

ДК

Дима Красилов... in pro.jvm
milkiweed
спасибо большое, сейчас буду пробовать
чот упустил эту ссылку, другие со стака не особо помогли :)
Там тока ответа нет.

Подумай о том, как элегантно обойти эту проблему.

Возможно ты можешь хотя бы вынести свой "this.one + 2", который потом присваивается в переменную result в отдельный метод отдельного класса и замокать его.
источник

O

Oleg in pro.jvm
подскажите, безопасно ли будет конкурентно писать разными потоками в непересекающиеся диапазоны в int array?

- например, 1 поток работает с [0,50], второй только с [51,100]
- потом идет join обоих и хочется видеть результат работы в main потоке

или какая синхронизация требуется?

@shipilev не подскажешь?
источник

S

Sergei in pro.jvm
Oleg
подскажите, безопасно ли будет конкурентно писать разными потоками в непересекающиеся диапазоны в int array?

- например, 1 поток работает с [0,50], второй только с [51,100]
- потом идет join обоих и хочется видеть результат работы в main потоке

или какая синхронизация требуется?

@shipilev не подскажешь?
Нет, так как память непонятно когда синхронизируется в таком случае.
http://gee.cs.oswego.edu/dl/cpj/jmm.html
источник

O

Oleg in pro.jvm
Sergei
Нет, так как память непонятно когда синхронизируется в таком случае.
http://gee.cs.oswego.edu/dl/cpj/jmm.html
а как тогда синхронизировать на кусок массива? или это невозможно в jmm?
источник

かたかわ in pro.jvm
Oleg
подскажите, безопасно ли будет конкурентно писать разными потоками в непересекающиеся диапазоны в int array?

- например, 1 поток работает с [0,50], второй только с [51,100]
- потом идет join обоих и хочется видеть результат работы в main потоке

или какая синхронизация требуется?

@shipilev не подскажешь?
ForkJoinPool класс
источник

O

Oleg in pro.jvm
かたかわ
ForkJoinPool класс
что с ним?
источник

かたかわ in pro.jvm
Oleg
что с ним?
Пилишь таск, фреймворк за тебя разделяет твой сурс на сабтаски (форк), выполняет их, потом делают джоин
источник

かたかわ in pro.jvm
Тебе не нужно думать о синхронизациях и локах
источник

かたかわ in pro.jvm
За тебя это сделали в джаве 8
источник

かたかわ in pro.jvm
Ещё в 2014-ом году
источник

かたかわ in pro.jvm
источник

QH

Quantum Harmonizer in pro.jvm
Oleg
подскажите, безопасно ли будет конкурентно писать разными потоками в непересекающиеся диапазоны в int array?

- например, 1 поток работает с [0,50], второй только с [51,100]
- потом идет join обоих и хочется видеть результат работы в main потоке

или какая синхронизация требуется?

@shipilev не подскажешь?
с ячейками массива должны работать те же правила, что и со всем остальным: volatile write коммитит твои изменения, volatile read — обновляет кеши
источник

かたかわ in pro.jvm
Можно, конечно, заняться всей этой низкоуровневой дичью, пилить локи, синхронизацию, вручную устанавливать количество тредов, потом всё это собирать воедино, но зачем это делать в джаве?
источник

D

DarkPerl in pro.jvm
Oleg
подскажите, безопасно ли будет конкурентно писать разными потоками в непересекающиеся диапазоны в int array?

- например, 1 поток работает с [0,50], второй только с [51,100]
- потом идет join обоих и хочется видеть результат работы в main потоке

или какая синхронизация требуется?

@shipilev не подскажешь?
Есть потокобезопасные коллекции.
источник

かたかわ in pro.jvm
Ещё можно использовать Stream API, он ещё проще
источник

QH

Quantum Harmonizer in pro.jvm
かたかわ
Ещё можно использовать Stream API, он ещё проще
как это отвечает на исходный вопрос?
источник