October 2018
Intermediate to advanced
556 pages
15h 18m
English
Another dramatic improvement related to reactive support is the reinforcement of the core I/O package. First of all, the Spring Core module introduced an additional abstraction over a buffer of byte instances called DataBuffer. The main reason to avoid java.nio.ByteBuffer is to provide an abstraction that may support different byte buffers without being required to make any additional conversions between them. For example, in order to convert io.netty.buffer.ByteBuf to ByteBuffer, we have to access the stored bytes that may require pulling them into a heap from the off-heap space. This may break efficient memory usage and buffer recycling (reusing the same buffers of bytes) provided by Netty. Alternatively, Spring DataBuffer ...