[Input | Output] Потоки существуют начиная с JDK1.0, в то время как их символы-аналоги Readers | Writers существуют начиная с JDK1.1.
Большинство концепций кажутсяаналогично, за одним исключением: базовые классы streams объявляют абстрактный метод, который обрабатывает один один байт за раз, в то время как базовые читатели / пишущие классы объявляютабстрактный метод, который обрабатывает целые char
-матрицы.
Таким образом, если я правильно понимаю, каждый переопределенный stream класс ограничивается обработкой отдельных байтов (таким образом, выполняя хотя бы один вызов методадля каждый байт!), в то время как для переопределенных читателей / писателей требуется только вызов метода для каждого массива (-buffer).
Разве это не огромная проблема с производительностью?
Может ли поток быть реализован как подкласс InputStream
или OutputStream
, но, тем не менее, основываться на byte
-матрицах?