Предположим, что для TCP-сервера требуется, чтобы он был подключен к одному клиенту и записывал и считывал сериализованные полные объекты.Частота чтения и записи высока.Учитывая требование, каковы преимущества переноса кода из Java-ввода-вывода в Java-NIO?
Текущий код выглядит примерно так .. Выделенный поток для чтения объекта из сокета и выделенный поток для записи объекта в сокет.Существует один входной / выходной поток объектов, в который объекты записываются / читаются.
// Reading from socket
private SomeObject readObject() throws IOException, ClassNotFoundException {
Object object = oiStream.readObject();
if (object != null && object instanceof SomeObject) {
SomeObject someObject = (SomeObject) object;
return someObject;
}
return null;
}
// Writing to socket
public void writeToSocket(SomeObject someObject) throws IOException {
if (isSocketOpen()) {
ooStream.writeObject(someObject);
ooStream.flush();
}
}
Что будет эквивалентно NIO и его преимущества, учитывая тот факт, что только один клиент будет подключаться к серверу.Пожалуйста, не обсуждайте каналы / селекторы / буферы, а сравнивайте две библиотеки для данного требования.