Компоненты буфера NIO

Это относится к новому новому Java NIO IO, напротив КВН, также известный как неблокирующий IO, IO мультиплексор, соответствующие четыре основных типов IO, сердечник состоит из трех основных компонентов, канал (труба), буфер (буфер) Переключатель (селектор)

Основные операции потока 

allcocate создать экземпляр - «положить записи данных -» флип - переключатель в режим чтения - «получить чтения данных -» четкий режим записи Switchback ,

Следующие комментарии:

Пакет com.example.demo; 

Импорт java.nio.IntBuffer; 

/ ** 
 * Созданный Администратор ON 2019/9/22. 
 * / 
Общественный  класс NioTest {
     статические IntBuffer IntBuffer = NULL ;
     общественный  статический  недействительный основные (String [] арг) { 
        IntBuffer = IntBuffer.allocate (20 ); // записи по умолчанию режим 
        печати (); // создать буфер р: л: с 0:20:20 р л положение является ограничение гр Емкость 
        PUT (); / / 5 вставить номер 
        печати (); // р: л : гр 5:20:20 запись данных в режиме записи для изменения значения postition кроме 
        GET ( 2 ); // два выхода 0 
        печати (); // р: л: режим без переключения C 7:20:20, получают также изменились в конце двух добавить 0

        флип (); // р: л : с 0: 7: 20 перевернут, переключается в режим чтения 
        GET ( 4. ); 

        Print (); // Р: L: С 4 :. 7: 20 
        GET ( 2 ); 
        Печать (); // Р: L: С 6 :. 7: 20 
// intBuffer.rewind () // перемотать перечитать Р: L: С 0 :. 7: 20 Очистить (); // P: L: C 0: 20:20 Switchback режим записи, и очищает
// Compact (); // P: L: C 1:20:20 режим записи обратного переключения, считанные данные не сохраняются печати ();
      }
общественные статический недействительный PUT () { для ( INT I = 0; I <5;. I ++ ) { intBuffer.put (I); } System.out.println ( "паттинг данных" ); } общественности статические недействительными печати () { System.out.println ( "положение ==" + intBuffer.position ()); System.out.println ( "предел ==" + intBuffer.limit ()); System.out.println ( "емкость ==" + intBuffer.capacity ()); } Общественного статической пустоты флип () { intBuffer.flip (); System.out.println ( "листать" ); } Общественной статическая пустота ясно () { intBuffer.clear (); System.out.println ( "очистка буфера" ); недействительными компактно () { intBuffer.compact (); System.out.println ( "уплотнение буфера" ); } Общественности статической недействительным прибудете ( INT п) { System.out.println ( "начинает читать" ); для ( INT = 0; <п; я ++ ) { System.out.println ( "чтение данных ==" + intBuffer.get ()); } System.out.println ( "окончание чтения" ); } }

экспорт

Положение == 0
предел == 20
емкости == 20
ввод данных
позиция == 5
предела == 20
емкости == 20
начинают читать
считывать данные == 0
прочтение == 0 данных
окончания , чтобы прочитать
позицию == 7
предела == 20
емкость == 20
листать
начать читать
считывать данные == 0
прочтение == 1 данных о
прочтении == 2 данных о
прочтении == данных 3
окончания , чтобы прочитать
положение == 4
предела == 7
емкости == 20
начинает читать
считывать данные == 4
считывания данные == 0
окончания , чтобы прочитать
положение == 6
предела == 7
потенциала == 20
очистки буфера
положение == 0
предел == 20
Емкость == 20

рекомендация

отwww.cnblogs.com/pu20065226/p/11569387.html