java javolution_Gitee 极速下载

Javolution

The Java(TM) Solution for Real-Time and Embedded Systems

Because real-time programming requires a time-predictable standard library.

"The ability to simplify means to eliminate the unnecessary so that the necessary may speak."

- Hans Hofmann, Introduction to the Bootstrap, 1993

Javolution - A Java Revolution?

Javolution real-time goals are simple: To make your application faster and more time predictable!

High-Performance - Hardware accelerated computing (GPUs) with ComputeContext.

Minimalistic - Collection classes, supporting custom views, closure-based iterations, map-reduce paradigm, parallel computations, etc.

Optimized - To reduce the worst case execution time documented through annotations.

Innovative - Fractal-based structures to maintain high-performance regardless of the size of the data.

Multi-Cores Ready - Most parallelizable classes (including collections) are either mutex-free (atomic) or using extremely short locking time (shared).

OSGi Compliant - Run as a bundle or as a standard library. OSGi contexts allow cross cutting concerns (concurrency, logging, security, ...) to be addressed at run-time through OSGi published services without polluting the application code (Separation of Concerns).

Interoperable - Struct and Union base classes for direct interfacing with native applications. Development of the Javolution C++ library to mirror its Java counterpart and makes it easy to port any Java application to C++ for native compilation (maven based) or to write Java-Like code directly in C++ (more at Javolution C++ Overview)).

Simple - You don't need to know the hundreds of new Java 8 util.* classes, most can be built from scratch by chaining Javolution collections or maps. No need to worry about configuration, immutability or code bloating !

Free - Permission to use, copy, modify, and distribute this software is freely granted, provided that copyright notices are preserved (BSD License).

The Top-10 Reasons why you should be using Javolution

Javolution classes are simple to use, even simpler than most JDK classes. You don't need to guess the capacity of a TextBuilder, FastTable or a FastMap, their size expand gently without ever incurring expensive resize/copy or rehash operations (unlike StringBuilder, ArrayList or HashMap).

Developers may achieve true separation of concerns (e.g. logging, configuration) through Context Programming or by using classes such as Configurable.

Javolution classes are fast, very fast (e.g. Text insertion/deletion in O[Log(n)] instead of O[n] for standard StringBuffer/StringBuilder).

All Javolution classes are hard real-time compliant with documented real-time behavior.

Javolution makes it easy for concurrent algorithms to take advantage of multi-processors systems.

Javolution's real-time collection classes (map, table and set) can be used in place of most standard collection classes and provide numerous additional capabilities.

Any Java class can be serialized/deserialized in XML format in any form you may want, also no need to implement Serializable or for the platform to support serialization

Javolution provides Struct and Union classes for direct interoperability with C/C++ applications.

Javolution is fully integrated with OSGi but still can be used as a standard Java library.

Javolution can be either a Pure Java Solution or a Pure Native Solution (C++ mirror), small (less than 400 KBytes jar) and fully produced through maven (Java and C++).

Usage

The simplest way to use Javolution is through Maven with the following dependency in your POM.xml

org.javolution

javolution-core-java

7.0.0

The native dynamic library (.dll or .so) is generated from the sources using the Maven Native Plugin

Released artifacts are available from the maven central repository, all snapshots (with sources/javadoc) are deployed to the java.net repository

The standard Java distribution is an OSGi bundle which can also be used as standalone Java library. The C++ distribution includes a port of standard Java classes, Javolution classes, OSGi and JUnit. Below is the table of correspondance between the Java packages and Javolution C++ namespaces.

Links

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值