据我所知,Java NIO是一个帮助创建事件驱动应用程序的API。使用选择器通知您的应用程序通过SocketChannel接收的任何数据。 JMS(Java Messaging Service)是一种用于在客户端之间发送/接收消息的消息传递框架。
JMS是Java NIO API的抽象吗?
答案 0 :(得分:8)
NIO只代表新IO。它是一个增强的通用Java IO包,它对异步IO有很多支持,但也包含很多其他增强功能,例如支持通过文件名进行grepping。当您尝试执行java.io中的类不支持的操作时,您将使用它。
JMS是一个Java消息传递系统。当您需要让两个应用程序通过类似队列的系统相互通信时,可以使用它。它是否在底层使用NIO是一个实现细节,尽管用Java编写的各种JMS提供程序可能会这样做。