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 |
|
java.math |
|
java.util |
|
java.util.regex |
|
java.io |
|
java.nio.file |
|
java.net |
Collections
java.util |
|
java.util.concurrent |
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 |
pom.xml
<dependencies>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-persistence-binary-jdk8</artifactId>
<version>08.01.02-MS-GA</version>
</dependency>
</dependencies>
final EmbeddedStorageFoundation<?> foundation = EmbeddedStorage.Foundation();
foundation.onConnectionFoundation(BinaryHandlersJDK8::registerJDK8TypeHandlers);
Java 17 Immutable Set and List
pom.xml
<dependencies>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-persistence-binary-jdk17</artifactId>
<version>08.01.02-MS-GA</version>
</dependency>
</dependencies>
final EmbeddedStorageFoundation<?> foundation = EmbeddedStorage.Foundation();
foundation.onConnectionFoundation(BinaryHandlersJDK17::registerJDK17TypeHandlers);