Javolution.orgは6日(カナダ時間)、Javolutionの最新版となる「Javolution Version 5.0.0」を公開した。Javolution(Java Solution for Real-Time and Embedded Systems)はJavaで開発された組み込み向けのライブラリ集。アプリケーションを高速に動作させ、実行時間をより確実に予測できるよう工夫されている。組み込み分野で利用しやすいThe BSD Licenseのもとに公開されている。
Javolution.orgでは、2006年9月18日(カナダ時間)に1つ前のメジャーリリースとなるJavolution 4.0.0を公開。以後、2006年中に4.1.0、4.2.xとリリースし、今回の5.0.0へとこぎ着けた。
本誌で前回お伝えした4.0.0と比較すると、4.1.0、4.2.xでは以下のような改善が実施されていた。
- TypeFormatにおける浮動小数点データの処理を改善
- コレクションやTextBuilderなどのクラスを即時に再利用できる機能を追加
- XMLSerializableインタフェースを追加
- Textで利用する平衡ツリー構造を最適化
- 並列処理を実現するConcurrentExecutorインタフェースを追加
- 基本型とオブジェクトのマッピングを実現するためのIndexクラスの追加
- 大規模テーブルサポートに関する問題の修正
これらに加えて、5.0.0では以下のような変更が行われている。
- 新たなコンテキストクラスとしてAllocatorContextおよびSecurityContextを追加
- PoolContextを廃止し、スレッドローカルキュー/ScopedMemoryをベースにしたStackContextを導入
- RealtimeObjectに関連するクラスをRealtimeインタフェースを使って刷新
- スタックに配置される参照用のイミュータブル(不変)オブジェクトを扱うためのインタフェースとしてValueTypeを追加
- サイズの変更が可能な配列を生成/再利用できる新クラスArrayFactoryを追加
変更の内容を考えると、アップデートはそれほど急務ではない。APIにまで変更が及んでいるため、アップデートを実施する場合は、ソースコードレベルで対応を実施されたい。