The table below provides a comparison between the interfaces listed in the previous section
to help you in deciding which interface to use in your applications.
Serialization Interface |
Advantages |
Drawbacks |
Serializable |
|
|
Externalizable |
|
|
DataSerializable |
|
|
IdentifiedDataSerializable |
-
More CPU and memory usage efficient than Serializable
-
Reflection is not used during deserialization
-
Supported by all Native Clients
|
|
Portable |
-
More CPU and memory usage efficient than Serializable
-
Reflection is not used during deserialization
-
Versioning is supported
-
Partial deserialization is supported during Queries
-
Supported by all Native Clients
|
-
Specific to Hazelcast
-
Serialization interface must be implemented
-
A Factory and configuration must be implemented
-
Class definition is also sent with data but stored only once per class
|
Custom Serialization |
|
|
Let’s dig into the details of the above serialization mechanisms in the following sections.