Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Резонно к этим всем качествам добавить ещё и свойство garbage less.
…
нужны только самые актуальные — то хорошо бы хранить пары ключ-значение в некотором ассоциативном массиве, перетирая старые значения новыми
for(int i = 0; i < values.length; i++){
V value = values[i].getAndSet(null);
if (value != null){
processor.handle(value);
}
}

ну на счет " материалы только для участников." я бы хотел задать встречный вопрос: а как же быть тем кто не в питере?
Прочитал статью и комменты, и не понимаю — это какая-то специальная Java для посвященных? И если не знаешь, кто такой Руслан или D., то вход в элитный отряд закрыт?Насколько я помню, в DB пишут трейдинговую систему, и данные идут из NY? Если я правильно вас погуглил.Что дает измерение задержки executor-а на маленьких таскахВыгоднее ли потратить свое время на велосипед и на его поддержку, чем взять простой HashMap + BlockingQueue + купить 4 сервера?
Время прохождения через executor, т.е. какова величина накладных расходов, которые даёт сам executor
Нет, задача не масштабирования уровня обработать 10000 и 1 запрос, когда каждый из них будет обрабатываться 100 мс — вопрос в том, что каждый запрос должен быть обработан как можно быстрее,
final long[] times = new long[5000];
// .....
final long diffUs = nowUs() - event.timeUs;
times[diffUs]++;
//
Можно, только в этом случае очередь будет расти
previousValue = concurrentHashMap.put(key, newValue)
if (value!=null) {
queue.add(...);
}
Можно сделать так:
previousValue = concurrentHashMap.put(key, newValue)
if (previousValue != null) {
queue.add(...);
}
Ну и забирать через put(key, null)
Java: executor с уплотнением по ключам