Specialized Type Handlers

Although most types in the JDK or any other Java library will work with MicroStream, there is a bunch of specialized type handlers for the most commonly used types. They are optimized to reduce memory overhead and increase performance.

The following list describes all types for which special type handlers are implemented. All other types are analyzed generically.

Value Types

Primitive Types

All primitive types and arrays thereof

java.lang

Byte

Boolean

Short

Character

Integer

Float

Long

Double

Void

Object

String

StringBuffer

StringBuilder

java.math

BigDecimal

BigInteger

java.util

Date

Currency

Locale

OptionalInt

OptionalLong

OptionalDouble

java.util.regex

Pattern

java.io

File

java.nio.file

Path

java.net

InetAddress

Inet4Address

Inet6Address

InetSocketAddress

URI

URL

java.sql

Date

Time

Timestamp

Collections

*) Most collections above are handled in a generic way. If you want a more optimized version of JDK collection handlers, you can utilize the provided module persistence.binary.jdk8.

pom.xml
<repositories>
<repository>
<id>microstream-releases</id>
<url>https://repo.microstream.one/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>persistence.binary.jdk8</artifactId>
<version>04.00.00-MS-GA</version>
</dependency>
</dependencies>
final EmbeddedStorageFoundation<?> foundation = EmbeddedStorage.Foundation();
foundation.onConnectionFoundation(BinaryHandlersJDK8::registerJDK8TypeHandlers);