Javolution

Javolution is a real-time library aiming to make Java or Java-Like/C++ applications faster and more time predictable. Indeed, time-predictability can easily be ruined by the use of the standard library (lazy initialization, array resizing, etc.) which is not acceptable for safety-critical systems. The open source Javolution library addresses these concerns for the Java platform and native applications. It provides numerous high-performance classes and utilities useful to non real-time applications as well. Such as:


 * Collections classes, supporting custom views, closure-based iterations, map-reduce paradigm, parallel computing, etc.
 * Worst-case execution time behavior documented using Realtime Java annotations
 * Fractal structures to maintain high-performance regardless of the size of the data
 * OSGi contexts allowing cross cutting concerns (concurrency, logging, security, ...) to be addressed at run-time through OSGi published services without polluting the application code (separation of concerns)
 * Algorithmic parallel computing support with concurrent contexts and general-purpose computing on graphics processing units with compute context
 * Struct/Union base classes for direct interfacing with native applications
 * Perfometer utility class to measure worst-case execution time with high precision
 * XML Marshalling/unmarshalling facility capable of direct serialization/deserialization of existing classes (no intermediate data structure required)
 * StAX-like XML reader/writer which does not require object creation (such as String) and consequently faster than standard StAX
 * Simple yet powerful configuration management for your application.

Since version 6.0, Javolution makes it easy to port any Java source code to C++ for cross-platform native compilation. OSGi and JUnit have been ported and are included with the core C++ distribution.

All modules (Java and native) are built using maven. Javolution can be used either as an OSGi bundle (preferred) or as a standalone library.