При изучении Stream API, часто встречал употребление выражений lazy и eager операторы, но нигде толком не мог найти нормальное определение этих понятий.
Может кто нибудь доходчиво объяснить?
В программировании термины:
Например, допустим вы сортируете массив int arr[]
- операция достаточно затратная в вычислительном смысле.
Традиционно принято выбирать подход eager, вызываем сортировку массива: Arrays.sort(arr)
, далее пользуемся результатом.
В случае lazy - массив заранее не сортируем, а сортируем только в момент когда нам понадобится arr[i]
- некий элемент сортированного массива - и только тогда вызываем сортировку - чувствуете разницу?
В Stream API почти все операции lazy, промежуточные вычисления производятся только при вызове терминальных операций типа reduce()/count()/collect()
и т.д.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Только начала разбираться со SpringПытаюсь добавить данные в БД и отобразить их списком на страничке
Передо мной предстала следующая задача: написать некоторый софт на Java, с применением GUI на JavaFXодной из функций будущей программы должна быть...