Я читал на потоках Java 8 и способ передачи данных из источника данных, а не сбор всей коллекции для извлечения данных.Java 8 Stream vs Collection Storage
Эта цитата, в частности, я прочитал статью относительно потоков в Java 8.
«Нет хранение Streams не имеют для хранения ценностей;. Они несут значения из источника (который может представлять собой структуру данных, функцию генерации, канал ввода-вывода и т. д.) через конвейер вычислительных шагов ». Из источника: http://www.drdobbs.com/jvm/lambdas-and-streams-in-java-8-libraries/240166818?pgno=1
Я понимаю концепцию потоковых данных в от источника по частям. То, что я не понимаю, - это потоковая передача из коллекции, как нет хранилища? Коллекция уже существует в куче, вы просто передаете данные из этой коллекции, коллекция уже существует в «хранилище».
В чем разница между размерами памяти и размерами, если бы я просто прокрутил коллекцию со стандартом для цикла?
Спасибо за ответ! Я понимаю часть потоковой передачи данных, но что такое служебные данные памяти (хранилища), если я просто буду использовать коллекцию напрямую, а не потоковое? Если я использую коллекцию напрямую, я получаю доступ к коллекции в куче, если я ее передаю, я по-прежнему передаю данные из коллекции, находящейся в куче. В любом случае объем памяти остается неизменным в обоих методах. Пожалуйста, поправьте меня, если я ошибаюсь или что-то не хватает. – user3587411
@ user3587411: По существу нет разницы. Один способ может использовать несколько кадров стека и временных объектов, но это всего лишь несколько байтов. – user2357112
* «В любом случае след памяти остается неизменным в обоих методах». * Цель потока - не сохранять память. – Radiodef