The Grizzly project has released its 1.7 version of its framework. Grizzly is a framework that lets developers really utilize the power of the NIO classes from Java. What does it all mean? In a nutshell - the ability to build high concurrent request based applications without dedicating a single thread to each connection.
In the old days, if you had 1000 clients connecting, you where pretty much forced to utilize a thread for every connection. This was costly, both in terms of memory, management and raw CPU power. The irony though, was that the majority of the threads were doing precious little, waiting mostly on I/O.
Java NIO allows you to remove this thread reliance and drop that once 1,000 threaded application down to only 10 or 20 threads. However, NIO isn't the easiest of things to get to grips with. It requires a different mindset and some struggle with this. Grizzly however, removes a lot of this and gives the developer the ability to concentrate on their application logic and not worry about the low-level plumbing.
I have been using Grizzly now for a while for an application that would have traditionally been a Servlet application. By removing all the overhead associated with the Servlet API, you can really make a Java application sing. The footprint of the application is very small, allowing for a very fast startup, and low CPU usage. Sadly, this is what the Servlet API was suppose to be from the start, but it morphed into yet another bloated, convoluted Java API. Grizzly takes back.
As an open source project from Sun, the documentation is surprisingly sparse, but the mailing list support is top notch, with fast and useful responses. Reminds me of the early days of the Servlet API now I come to think of it. The main lead, Jean-Francious Arcand does a great job managing this project.