Redefining Java for modern web, cloud, high-load, and microservices solutions

What is ActiveJ?

ActiveJ is an alternative Java platform built from the ground up as a replacement of Spring, Spark, Quarkus, Micronauts, and other solutions. It is minimalistic, boilerplate-free, and provides outstanding performance.

ActiveJ consists of several modules that can be logically grouped into following categories :
  • async - provides means of executing code asynchronously inside event loop. The flow of execution is controlled via promises (Promise, Eventloop)
  • stream - streaming APIs for processing huge amounts of data with back pressure (CSP, Datastream)
  • http - high-performance Netty and Jetty alternatives that can be used independently of ActiveJ (Net, HTTP)
  • boot - tools for launching application, controlling the lifecycle of provided services (Launcher, Service Graph, etc)

Why ActiveJ?

Excellence of your products

Rich stack of unique technologies for lightning-fast and asynchronous web applications with competitive advantage

Alternative architecture

Lightweight and natively scalable async architecture in contrast to Spring and other similar solutions

Ultimate performance

Squeezing the last bits of performance from your hardware, proven by numerous benchmarks

Simple design

ActiveJ was built from the ground up, so it doesn’t feature tons of abstractions hiding the legacy standards

A step ahead of other solutions

ActiveJ - 186.1 Krps
Vert.x - 162.9 Krps
186.1 Krps
162.9 Krps
Dependency Injection
ActiveJ - 7.2 Mrps Guice - 1.3 Mrps Spring - 1.3 Krps
7.2 Mrps
1.3 Mrps
1.3 Krps
ActiveJ - 9.8 Mrps
9.8 Mrps
ActiveJ - 15.6 Mrps
15.6 Mrps
ActiveJ - 77.2 Mrps
JDK - 11.7 Mrps
77.2 Mrps
11.7 Mrps
Minimum web application size
1.4 MB
17 MB
Web application launch time
0.65 Sec
14 Sec

Enjoy the development

Predefined launchers and classes for both typical and more specific use cases combined with ActiveInject DI library enable extremely fast and convenient app development.
public final class HttpHelloWorldExample extends HttpServerLauncher {
	AsyncServlet servlet() {
		return request -> HttpResponse.ok200().withPlainText("Hello World");

	public static void main(String[] args) throws Exception {
		Launcher launcher = new HttpHelloWorldExample();

Genuinely high load networking

Ultra-fast means for I/O processing along with a simple abstraction over low-level async sockets I/O. Create servers that process 45M+ RPS on a single CPU core in a few lines of code.

    .transformWith(StreamMapper.create(x -> x + " times 10 = " + x * 10))

ActiveJ in production

ActiveJ has proved its stability and efficiency in our high-load in-house projects, processing billions of requests daily. For example, AdKernel is powered with ActiveJ and it is one of the leading ad-tech solutions providers in the market.

ActiveJ releases

These docs cover the most recent ActiveJ release v4.0-beta1 (see on GitHub and Maven).

Independent ActiveJ technologies

ActiveJ platform features a list of handy and powerful technologies that can be used independently of ActiveJ.
Lightweight Dependency Injection, an extremely simple and powerful solution. Significantly outperforms other DI frameworks like Spring DI or Guice.
Extremely fast and space-efficient serializers created with bytecode engineering. Introduces schema-less approach for the best performance.
Dynamic class and method bytecode generator on top of ObjectWeb ASM library. Abstracts the complexity of direct bytecode manipulation and allows to create custom classes on the fly.
Ultra high-performance binary protocol. Allows to build distributed applications that require efficient client-server interconnections between peers.
Basis for building efficient, scalable local or remote file storage, supporting data redundancy, rebalancing, and resharding.
A little bit of magic to speed up your code. Optimizes code for JVM and automagically boosts it up by more than 30%.