Specialized Type Handlers
Although most types in the JDK or any other Java library will work with EclipseStore, 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>org.eclipse.serializer</groupId>
<artifactId>persistence-binary-jdk8</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
final EmbeddedStorageFoundation<?> foundation = EmbeddedStorage.Foundation();
foundation.onConnectionFoundation(BinaryHandlersJDK8::registerJDK8TypeHandlers);
Java 17 Immutable Set and List
With Version 3.0.0 the type handlers for immutable set and list where moved into the core packages and are automatically registered. Older versions still need to register those handlers manually. |
pom.xml
<dependencies>
<dependency>
<groupId>org.eclipse.serializer</groupId>
<artifactId>persistence-binary-jdk17</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
final EmbeddedStorageFoundation<?> foundation = EmbeddedStorage.Foundation();
foundation.onConnectionFoundation(BinaryHandlersJDK17::registerJDK17TypeHandlers);
For serializer:
final SerializerFoundation<?> foundation = SerializerFoundation.New();
BinaryHandlersJDK17.registerJDK17TypeHandlers(foundation);