Spec-Zone .ru
спецификации, руководства, описания, API
|
public class DoubleAccumulator extends Number implements Serializable
double
оцените обновленное использование предоставленной функции. Когда обновления (метод accumulate(double)
) спорятся через потоки, набор переменных может вырасти динамически, чтобы уменьшить конкуренцию. Метод get()
(или, эквивалентно, doubleValue()
) возвращает текущую стоимость через переменные, поддерживающие обновления. Этот class обычно предпочтителен для альтернатив, когда многократные потоки обновляют общую ценность, которая используется в целях, таких как сводные статистические данные, которые часто обновляются, но менее часто читаются.
Предоставленная функция аккумулятора должна быть без побочных эффектов, так как она может быть повторно применена, когда предпринятые обновления перестали работать из-за конкуренции среди потоков. Функция применяется с текущей стоимостью как ее первый параметр, и данное обновление как второй параметр. Например, чтобы поддержать рабочее максимальное значение, Вы могли предоставить Double::max
наряду с Double.NEGATIVE_INFINITY
как идентификационные данные. Порядок накопления в пределах или через потоки не гарантируется. Таким образом этот class, возможно, не применим, если числовая устойчивость требуется, особенно комбинируя значения существенно различных порядков величины.
Класс DoubleAdder
обеспечивает аналоги функциональности этого class для общего особого случая поддержания сумм. Вызов new DoubleAdder()
эквивалентно new DoubleAccumulator((x, y) -> x + y, 0.0
.
Этот class расширяется Number
, но не определяет методы такой как equals
, hashCode
и compareTo
потому что экземпляры, как ожидают, будут видоизменены, и так не полезны как ключи набора.
Конструктор и Описание |
---|
DoubleAccumulator(DoubleBinaryOperator accumulatorFunction, double identity)
Создает новый экземпляр, используя данную функцию аккумулятора и нейтральный элемент.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
accumulate(double x)
Обновления с данным значением.
|
double |
doubleValue()
Эквивалентный
get() . |
float |
floatValue()
Возвращает текущую стоимость как a
float после сужающегося примитивного преобразования. |
double |
get()
Возвращает текущую стоимость.
|
double |
getThenReset()
|
int |
intValue()
Возвращает текущую стоимость как
int после сужающегося примитивного преобразования. |
long |
longValue()
Возвращает текущую стоимость как a
long после сужающегося примитивного преобразования. |
void |
reset()
Переменные сбросов, поддерживающие обновления к значению идентификационных данных.
|
Строка |
toString()
Возвращает Строковое представление текущей стоимости.
|
byteValue, shortValue
public DoubleAccumulator(DoubleBinaryOperator accumulatorFunction, double identity)
public void accumulate(double x)
x
- значениеpublic double get()
public void reset()
public double getThenReset()
get()
сопровождаемый reset()
. Этот метод может применяться например во время статических точек между многопоточными вычислениями. Если будут обновления, параллельные с этим методом, то возвращенное значение, как гарантируют, не будет заключительным значением, происходящим перед сбросом.public String toString()
public double doubleValue()
get()
.doubleValue
в class Number
public long longValue()
long
после сужающегося примитивного преобразования.public int intValue()
int
после сужающегося примитивного преобразования.public float floatValue()
float
после сужающегося примитивного преобразования.floatValue
в class Number
float
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92