Javolution
![]() | |
Developer(s) | Jean-Marie Dautelle |
---|---|
Stable release | 6.0.0-SNAPSHOT
/ September 16, 2012 |
Repository | |
Written in | Java C++ |
Operating system | Cross-platform |
Size | 470 KB (archived) |
Type | Real-Time Library |
License | BSD |
Website | http://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 provides numerous high-performance classes and utilities useful to non real-time applications as well. Such as:
- Algorithmic parallel computing support with concurrent contexts.[2]
- High performance implementation of standard Java packages (such as the javolution.util [3] package holding real-time java.util [4] collections implementations).
- Context[5] programming in order to achieve true separation of concerns (logging, performance, etc.).
- ValueType [6] and Stack [7] allocation support (thread-local pools or RTSJ ScopedMemory).
- Struct [8] and Union [9] base classes for direct interfacing with native applications.
- 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 [11] working with existing Java classes and supporting references (including circular references).
- Simple yet powerful configuration management [12] for your application.
Since version 6.0, Javolution makes it easy to port any Java source code to C++ for native compilation. OSGi to and JUnit have been ported (in less than one week) and are included with the core C++ distribution.
All modules (Java and native) are built using maven.
References
- ^ Fully Time Deterministic Java
- ^ Javolution concurrent contexts
- ^ javolution.util
- ^ java.util
- ^ Javolution Context
- ^ Javolution ValueType
- ^ Javolution StackContext
- ^ Javolution Struct
- ^ Javolution Union
- ^ javolution.xml.stream
- ^ Javolution XML marshalling/unmarshalling
- ^ Javolution configuration management
External links
- Javolution Website
- Fully Time Deterministic Java - AIAA Space 2007 Conference
- Validating Java for Safety-Critical Applications - AIAA Space 2005 Conference
- Turbo-Charging Java for Real-Time Applications - Java Developer Journal Article