Wikipedia

Javolution

Javolution
Javolution.png
Developer(s)Jean-Marie Dautelle
Stable release
7.0.0 / July 2, 2017 (2017-07-02)
Repository Edit this at Wikidata
Written inJava C++
Operating systemCross-platform
Size480 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] and general-purpose computing on graphics processing units with compute context[8]
  • Struct/Union[9] base classes for direct interfacing with native applications
  • Perfometer[10] utility class to measure worst-case execution time with high precision
  • 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 consequently 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. Javolution can be used[15] 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
  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

This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.