- A new configuration plug-in class (Configurable class)
- XML stream reader/ writer (StAX-like)
- Faster, Simpler, Meaner... XML marshalling/unmarshalling (using the StAX-like classes)
- Explicit object recycling now works in the default heap context
- Faster object recycling (yes it can be even faster)
- Refactoring and renaming
- More I/O classes (e.g. AppendableWriter, CharSequenceReader)
InfoQ caught up with project lead Jean-Marie Dautelle to discuss the project. In regards to why he created the project Dautelle responded:
Javolution is an open-source Java library for high-performance/time-critical systems. Although the standard Java library is adequate if the user does not mind delays from time to time (e.g. garbage collection, array resizing, etc); it is not suitable for real-time applications or even any application for which response time matter (which might encompass most of today systems)! Javolution aims to provide a highly time-deterministic standard library without sacrifycing performance ... I wanted to use Java (instead of C/C++) for my day-to-day work on real-time/safety critical systems.
He went on to discuss the most significant feature additions in 4.0:
The StAX real-time XML reader/writer took a lot of time! The XML data binding has also been refactored and is now much more powerful and flexible (definitively the fastest marshalling/unmarshalling engine in existence).
Dautelle then commented on future directions of Javolution. While it already provides ConcurrentContext to take advantage of multi-processors transparently, he indicated that version 5.0 we might included additional support for distributed computing (across multiple machines).