Нулевое копирование — это метод, при котором приложение больше не является «посредником» при передаче данных с диска на сокет. Приложения, использующие нулевое копирование, требуют, чтобы ядро копировало данные непосредственно из файла на диске в сокет, минуя приложение, что повышает производительность и уменьшает количество переключений контекста.
Все зависит от того, что приложение будет делать с данными, которые оно считывает с дисков. Если это веб-приложение, обслуживающее большое количество статического контента путем чтения файлов и их ретрансляции через сокеты, то для повышения производительности лучше всего использовать нулевое копирование. Однако, если приложение использует данные локально (либо каким-то образом обрабатывая их, а затем записывая обратно, либо отображая их локально без сохранения обратно), вы не будете использовать нулевую копию.
Эту статью IBM DeveloperWorks о нулевом копировании стоит прочитать.
Другие способы файлового ввода-вывода в java - это использование классов Stream в зависимости от типа файла, который вы хотите читать/записывать. Это включает в себя как буферизованные, так и небуферизованные потоки, хотя обычно буферизованные потоки обещают лучшую производительность, поскольку они вызывают меньше циклов поиска ввода-вывода и, следовательно, меньше переключений контекста.
person
Nagendra U M
schedule
11.05.2012