我正在学习如何使用NIO编写代码(我还没有排除更高级别的库,但是我也想学习低级别的操作)。
在阅读中,我了解了NIO2。因为我已经在该项目中使用Java 7,所以我想知道是否可以在NIO2中替换用于编写单线程多路复用服务器的NIO操作,也就是说,也许更简单了。据我所知,NIO2的相关部分是它的异步类。但是,我没有足够的经验来知道这些是否是必要的,或者只是替代基本多路复用器而不一定需要的其他/新抽象。
最佳答案
也许变得更简单。
IMHO NIO2比NIO更复杂,就像NIO比普通IO更复杂。
它支持异步IO调用,但是比起有效的调用要难得多。 NIO或普通IO
如果您拥有Inifiniband,NIO2可以为您提供更低的延迟和更高的吞吐量。如果您使用普通的以太网,那么我发现它并没有太大的不同。
如果要简化,请使用普通IO。