Disruptor onEvent обработчик
В различных примерах onEvent переменные иногда объявляются как final, а иногда нет.
Например:
public void onEvent(final ValueEvent entry, final long sequence, final boolean onEndOfBatch)
в отличие от
public void onEvent(ValueEvent entry, long sequence, boolean onEndOfBatch)
Пожалуйста, я могу получить комментарий о причине и использовании финала?
1 ответ
Короткий ответ - вызов стандартов кодирования LMAX для параметров, которые должны быть final
Однако это просто вопрос соглашения.
Добавление final к параметру просто означает, что метод не может изменить значение примитивов или переназначить ссылки для пропущенных объектов. Смотрите здесь для получения дополнительной информации о финале
Многие люди считают, что присвоение нового значения параметру является плохой практикой и приводит ко многим незаметным ошибкам.