Jump to content

Javolution

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Dautelle (talk | contribs) at 12:48, 19 August 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Javolution
Developer(s)Jean-Marie Dautelle
Stable release
6.0.0 / August 18, 2013 (2013-08-18)
Repository
Written inJava C++
Operating systemCross-platform
Size470 KB (archived)
TypeReal-Time Library
LicenseBSD
Websitehttp://javolution.org

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[1] 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 [2] classes, supporting custom views [3], closure-based iterations, map-reduce paradigm, parallel computing, etc.
  • Worst-case execution time behavior documented using Realtime [4] Java annotations.
  • Fractal structures [5] to maintain high-performance regardless of the size of the data.
  • OSGi contexts [6] 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. [7]
  • Struct/Union [8] base classes for direct interfacing with native applications.
  • Perfometer [9] utility class to measure worst-case execution time with high precision.
  • Real-Time StAX-like implementation (javolution.xml.stream [10]) (does not implement StAX-API, but resembles it, uses similar naming) which does not force object creation.
  • XML Marshalling/unmarshalling facility [11] capable of direct serialization/deserialization of existing classes (no intermediate data structure required).
  • StAX-like XML reader/writer [12] which does not require object creation (such as String) and is consequently significantly faster than standard StAX.
  • Simple yet powerful configuration management [13] for your application.

Since version 6.0, Javolution makes it easy to port [14] 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.

References