Javolution es una biblioteca en tiempo real que busca hacer que las aplicaciones Java o similares a Java/C++ sean más rápidas y predecibles en cuanto al tiempo de ejecución. De hecho, la previsibilidad temporal puede verse fácilmente comprometida por el uso de la biblioteca estándar (inicialización diferida, redimensionamiento de matrices, etc.), lo cual no es aceptable para sistemas críticos para la seguridad . La biblioteca de código abierto Javolution aborda estas preocupaciones [ 1 ] para la plataforma Java y las aplicaciones nativas. Proporciona numerosas clases y utilidades de alto rendimiento que también son útiles para aplicaciones que no son en tiempo real. Tales como:
- Colecciones [ 2 ] clases, soporte para vistas personalizadas, [ 3 ] iteraciones basadas en cierres , paradigma map-reduce , computación paralela , etc.
- Comportamiento del tiempo de ejecución en el peor de los casos documentado mediante anotaciones Java de Realtime [ 4 ]
- Estructuras fractales [ 5 ] para mantener un alto rendimiento independientemente del tamaño de los datos
- Contextos OSGi [ 6 ] que permiten abordar preocupaciones transversales (concurrencia, registro, seguridad, ...) en tiempo de ejecución a través de servicios publicados OSGi sin contaminar el código de la aplicación ( separación de preocupaciones ).
- Soporte de computación paralela algorítmica con contextos concurrentes [ 7 ] y computación de propósito general en unidades de procesamiento gráfico con contexto de cómputo [ 8 ].
- Clases base Struct/Union [ 9 ] para la interfaz directa con aplicaciones nativas
- Perfometer [ 10 ] clase de utilidad para medir el tiempo de ejecución en el peor de los casos con alta precisión
- Funcionalidad de serialización/deserialización XML [ 11 ] capaz de serializar/deserializar directamente clases existentes (no se requiere estructura de datos intermedia)
- Lector/escritor XML similar a StAX [ 12 ] que no requiere la creación de objetos (como String) y, por consiguiente, es más rápido que el StAX estándar.
- Gestión de configuración sencilla pero potente [ 13 ] para su aplicación.
Desde la versión 6.0, Javolution facilita la portabilidad [ 14 ] de cualquier código fuente Java a C++ para la compilación nativa multiplataforma . OSGi y JUnit se han portado y se incluyen con la distribución principal de C++.
Todos los módulos (Java y nativos) se compilan usando Maven . Javolution se puede usar [ 15 ] como un paquete OSGi (preferible) o como una biblioteca independiente.
Referencias
- ↑ Java totalmente determinista en el tiempo
- ↑ javolution.util
- ↑ Vistas de la colección
- ↑ Anotación en tiempo real
- ↑ Tabla fractal
- ↑ Contextos OSGi
- ↑ Contextos concurrentes
- ↑ "Contextos de cómputo" . Archivado del original el 29/12/2013 . Consultado el 27/12/2013 .
- ↑ Estructura/Unión
- ↑ Utilidad del perfómetro
- ↑ Funcionalidad de serialización/deserialización XML
- ↑ Lectores/escritores al estilo StAX
- ↑ Gestión de configuración de Javolution
- ↑ "Descripción general de Javolution C++" (PDF) . Archivado del original (PDF) el 1 de octubre de 2013. Consultado el 19 de agosto de 2013 .
- ↑ Descripción general del uso de Javolution
Enlaces externos
- Sitio web de Javolution
- Java totalmente determinista en el tiempo – Conferencia AIAA Space 2007
- Validación de Java para aplicaciones críticas de seguridad – Conferencia AIAA Space 2005
- Optimización de Java para aplicaciones en tiempo real (Archivado el 5 de febrero de 2009 en Wayback Machine – Artículo de Java Developer Journal)
- Bibliotecas de Java (lenguaje de programación)