Java NIO开源项目

本文列举了一些基于Java NIO的开源项目,包括Raining Sockets(高性能非阻塞套接字框架)、Reattore(单线程HTTP服务器)、UberMQ(JMS实现)、EIO(事件输入/输出API)以及Mule、EmberIO等。这些项目利用Java NIO实现高效、可扩展的网络通信,涉及HTTP服务器、消息队列、DHT分布式哈希表等领域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java NIO开源项目

  1. Raining Sockets - Raining Sockets is a non-blocking sockets framework which eases the job of creating a highly scalable application that can receive and send over 10000 socket connections. The SocketBlaster (NIO based Load Tester) and Server (very basic NIO Server) program (both extended from NioSocket.java) have been successfully tested with 13000 connections on 2 Xeon machines. The Raining HTTP Server is an NIO based HTTP Server that aims at implementing most of HTTP 1.1
  2. Reattore - Reattore is a simple single threaded HTTP server written in Java. Unlike most Java server applications, Reattore uses the socket channel features added in Java 1.4 to serve all requests from one thread, instead of spawning each request off to a new thread. In theory this provides better performance and allows the system to degrade well under high load.
  3. UberMQ - UberMQ is a clean room implementation of the Java Message Service specification. JMS is a part of the Java 2 Enterprise Edition. We wrote UberMQ because many of the established JMS vendors have turned their back on the core tenets of distributed computing: fast and simple. Our technology is implemented with Java NIO, allowing you to scale your message traffic without thousands of threads and the associated performance penalties.
  4. EIO - The EIO package (which stands for "Event Input/Output") offers a networking API in Java that is efficient and very simple. This provides a third alternative to the two two major Java networking APIs: the traditional one-thread-per-connection model (java.net), and the new non-blocking model (java.nio). EIO provides a simplified wrapper around java.nio.
  5. Mule - Mule is a light-weight, event-driven component technology. It is highly scalable, using ideas from SEDA
  6. EmberIO - EmberIO is an I/O event system centered around Java 1.4 NIO. Supports both request-process-response models and many asynchronous models. Configurable thread pooling mechanisms and event processing models
  7. Bamboo DHT - A distributed hash table, or DHT, is a building block for peer-to-peer applications. At the most basic level, it allows a group of distributed hosts to collectively manage a mapping from keys to data values, without any fixed hierarchy, and with very little human assistance. This building block can then be used to ease the implementation of a diverse variety of peer-to-peer applications such as file sharing services, DNS replacements, web caches, etc.
  8. JicarillaHTTP - A componentized, scriptable, event-based webserver, based on the JDK 1.4 New I/O (nio) package.
  9. NBServer - A framework that takes most of the pain out of writing non-blocking network servers in Java 1.4. It'll shield you from low-level details of output buffering, selector management etc. leaving you to concentrate solely on writing the network protocol.
  10. JADE Stuct/Union - JavaTM classes for direct interoperability with C/C++ applications. Base classes analogous to C/C++ struct & union (same storage layout, alignment rules, bit-field support, etc.) Memory sharing between Java applications and native libraries. Direct encoding/decoding of streams for which the structure is defined by legacy C/C++ code. Serialization/deserialization of Java objects (complete control, e.g. no class header). Mapping of Java objects to physical addresses (with JNI).
  11. Kowari - The storage engine of Kowari is a transactional triplestore known as the XA Triplestore. ll relevant fields of in-memory and on-disk data structures are 64 bits wide. System crashes caused by power failures and some types of hardware fault will not cause data corruption. The on-disk data structures of the triplestore are designed to be kept in a consistent state at all times while minimizing the overhead required to achieve this. NIO file channels allow multiple threads to concurrently read and write different parts of the same file without having to use thread synchronization to protect the current file position. On 32 bit platforms the amount of virtual memory that is available for mapping files is usually limited to less than 2 GB.
  12. Netty2 - Netty 2 provides an easy event-based API (like Swing) to develop high-performance, maintainable TCP/IP server/client application. Netty handles many essential features such as readiness selection, thread pooling, and buffer reuse which are required to build high- performance and capacity network applications.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值