Misplaced Pages

Javolution

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
A major contributor to this article appears to have a close connection with its subject. It may require cleanup to comply with Misplaced Pages's content policies, particularly neutral point of view. Please discuss further on the talk page. (June 2014) (Learn how and when to remove this message)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Javolution" – news · newspapers · books · scholar · JSTOR (June 2014) (Learn how and when to remove this message)
(Learn how and when to remove this message)
Javolution
Developer(s)Jean-Marie Dautelle
Stable release7.0.0 / July 2, 2017 (2017-07-02)
Repository
Written inJava, C++
Operating systemCross-platform
Size480 KB (archived)
TypeReal-Time Library
LicenseBSD
Websitejavolution.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 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.

References

  1. Fully Time Deterministic Java
  2. javolution.util
  3. Collection Views
  4. Realtime Annotation
  5. Fractal Table
  6. OSGi Contexts
  7. Concurrent Contexts
  8. "Compute Contexts". Archived from the original on 2013-12-29. Retrieved 2013-12-27.
  9. Struct/Union
  10. Perfometer Utility
  11. XML Marshalling/unmarshalling Facility
  12. StAX-Like Readers/Writers
  13. Javolution Configuration Management
  14. "Javolution C++ Overview" (PDF). Archived from the original (PDF) on 2013-10-01. Retrieved 2013-08-19.
  15. Javolution Usage Overview

External links

Category: