Module bus.cache

Class JdkGzipSerializer

java.lang.Object
org.miaixz.bus.cache.support.serialize.AbstractSerializer
org.miaixz.bus.cache.support.serialize.JdkGzipSerializer
All Implemented Interfaces:
BaseSerializer

public class JdkGzipSerializer extends AbstractSerializer
JDK GZIP序列化器

基于JDK原生序列化和GZIP压缩实现的序列化器。 先使用JDK原生序列化将对象转换为字节数组,然后使用GZIP进行压缩, 可以有效减少序列化后的数据大小,适用于存储大对象或需要节省存储空间的场景。

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • JdkGzipSerializer

      public JdkGzipSerializer()
  • Method Details

    • doSerialize

      protected byte[] doSerialize(Object object) throws Throwable
      执行序列化操作

      使用JDK原生序列化将对象转换为字节数组,然后使用GZIP进行压缩

      Specified by:
      doSerialize in class AbstractSerializer
      Parameters:
      object - 要序列化的对象
      Returns:
      序列化并压缩后的字节数组
      Throws:
      Throwable - 可能抛出的异常
    • doDeserialize

      protected Object doDeserialize(byte[] bytes) throws Throwable
      执行反序列化操作

      先使用GZIP解压字节数组,然后使用JDK原生反序列化将字节数组转换为对象

      Specified by:
      doDeserialize in class AbstractSerializer
      Parameters:
      bytes - 要反序列化的字节数组
      Returns:
      反序列化后的对象
      Throws:
      Throwable - 可能抛出的异常