Introduction
ActiveJ is a set of orthogonal minimalist libraries, with as few dependencies as possible with respect to each other, that can be used together or separately. This was the design goal - not to develop yet another framework that would force the user to use it on an all-or-nothing basis, but instead to give the user as much freedom as possible in terms of choosing library components.
ActiveJ consists of a range of libraries, ranging from dependency injection and high-performance asynchronous I/O (inspired by Node.js) to application servers and big data solutions. It is designed to be self-sufficient (with no third-party dependencies), simple, lightweight, and provide competitive performance.
You can utilize ActiveJ to build scalable web applications, distributed systems, and deploy it for high-load data processing.
Core Features
The distinguishing features of ActiveJ are simplicity, high performance, and consistency. As a result, it is fast, lightweight, and does not contain tons of abstractions and third-party dependencies. Moreover, ActiveJ offers a simple programming approach, prioritizing business logic over framework specifications.
Core components:
- ActiveJ Inject. A lightweight Dependency Injection library with a rich toolkit. Can be used as a stand-alone library.
- Async I/O core:
Promise
,Eventloop
,Net
. - Fast asynchronous data stream processing:
Datastream
,CSP
. - High-performance HTTP components including asynchronous HTTP clients and servers. Can be used independently of ActiveJ.
- Bootstrapping and lifecycle management utils:
Launcher
,Service Graph
, JMX, Triggers.
Bytecode manipulation tools:
- ActiveJ Serializer - the world’s fastest JVM-based serializer with bytecode generation at runtime.
- ActiveJ Codegen - dynamic bytecode generator without the complexity of direct bytecode manipulation. Features a streamlined and concise API.
- ActiveJ Specializer - a unique technology that automagically speeds up your code significantly by optimizing it for the JVM.
Cluster technologies:
- ActiveJ RPC - high-performance binary protocol for developing distributed applications and microservices solutions
- ActiveJ FS - provides effective tools for developing scalable local or remote file storages with a support of data redundancy, rebalancing, and resharding.
ActiveJ Background
The ActiveJ project is an improved version of the DataKernel framework. Since the release of v3.0, it has been greatly improved and restructured.