Яка різниця між канальним входом / виводом на вході / виводу на базі потоку в java?


21

Яка різниця між вхідним потоком та канальним входом? API java забезпечує як потік у пакеті "java.io", так і канал на базі пакета "java.nio". Яка з двох кращих за продуктивністю та зменшує помилки під час виконання?


Ви перевіряли вікі тегів 'nio' на стеці Overflow? "NIO означає" Нове введення-виведення ". Він був представлений в JDK 1.4 в пакеті java.nio. Він містить кілька елементів: ..."
gnat

1
це гарне запитання, 10 років тому ... коротка відповідь - це залежить , є велика обширна документація про те, коли використовувати які технології, обидва все ще існують, бо вони кращі в різних речах. Довга відповідь Google має все, що потрібно знати.

Я думаю, що це служить гарним питанням про ворота. ОП - один із щасливих сьогодні 10 000 .
Гері Роу

Відповідно до stackoverflow.com/questions/2810156/concepts-channel-vs-stream - канал орієнтований на повідомлення, тоді як потік орієнтований на байт, і, ймовірно, не знає, як поділити повідомлення. Ще одна відмінність у тому, що канали зберігають повідомлення, а потоки - ні.
inf3rno

Відповіді:


13

Дивіться цю публікацію в блозі Oracle для хорошого огляду

Також не нехтуйте, щоб прочитати API NIO.2 Java 7!

Щодо продуктивності тощо, відповідь - "це залежить". Це залежить від характеристик вашого вводу / виводу, наприклад, його розмір, це "форма", чи це мережа, чи диск, або пам'ять, або ...


8
Ось посилання на архів: web.archive.org/web/20140528182031/https://blogs.oracle.com/slc/… - Ось чому відповіді тут повинні мати можливість працювати без їх посилань btw
piegames
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.