异步ByTechannel的无分配实现(JavaNIO.2)

异步ByTechannel的无分配实现(JavaNIO.2),java,nio2,Java,Nio2,Java 8中AsynchronousByteChannel的所有实现都为每个通道读/写操作分配额外的对象。这对我来说似乎很奇怪,因为此API(*)旨在用于高性能应用程序,并且在热执行路径上分配其他对象与此类应用程序的最佳实践不匹配。是否有任何替代实现可以在没有分配的情况下产生良好的网络i/O性能 注意:我计划使用NIO2的原因之一是对Windows的Iocp支持。Java1.4中的NIO不使用它 *我不知道这个API的初衷,但我假设“普通”应用程序完全满足于普通的阻塞IO API,不需要NIO

Java 8中AsynchronousByteChannel的所有实现都为每个通道读/写操作分配额外的对象。这对我来说似乎很奇怪,因为此API(
*
)旨在用于高性能应用程序,并且在热执行路径上分配其他对象与此类应用程序的最佳实践不匹配。是否有任何替代实现可以在没有分配的情况下产生良好的网络i/O性能

注意:我计划使用NIO2的原因之一是对Windows的Iocp支持。Java1.4中的NIO不使用它


*
我不知道这个API的初衷,但我假设“普通”应用程序完全满足于普通的阻塞IO API,不需要NIO/AIO。

我相信您可以使用NIO2,而不需要使用后台线程进行异步编写(thsi会产生相当多的垃圾)。上次我尝试NIO2时,我发现了相同的结果,于是又回到了NIO。