Skip to main content

Overview

ActiveJ Serializer is the world's fastest Java serializer. At the same time, it features full support of Java subclasses, collections (including Maps), and also specialized collections like HPPC. ActiveJ Serializer is one of the ActiveJ technologies, but it has a minimum of third-party dependencies and can be used as a standalone component.

Why ActiveJ Serializer?

  • Works directly with Java classes via annotations. No additional layers of intermediate DTO classes.
  • Implemented using runtime bytecode generation for compatibility with dynamically created classes.
  • Stable binary format with backward binary compatibility.
  • Support for the scheme evolution: changeable versions, fields that can be added or removed, etc.
  • Easy to expand - you can write your own plugins for specific classes.
  • Includes special hints for even more efficient code: String formats, nullable, varlen, etc.
  • Provides a little endian format for the JVM intrinsics.
  • Unsafe mode support for the best performance.
  • Resolution of cyclic references of any complexity.
  • UTF-8, UTF-16 and ISO8859-1 encoding.
  • Compatible even with complex collections, generics and nullable values.

Convenient and powerful

ActiveJ Serializer is a bytecode generator for fast and space-efficient serializers. It can work even with complex objects using simple and intuitive DSL

public static class Person {    public Person(@Deserialize("age") int age,                  @Deserialize("name") String name) {        this.age = age;        this.name = name;    }
    @Serialize(order = 0)    public int age;
    @Serialize(order = 1)    public final String name;}

Add ActiveJ Serializer to your project

You can add ActiveJ Serializer to your project by importing its Maven repository. These docs cover the most recent release of ActiveJ Serializer v5.4.3 (see on Github or Maven).