Java 序列化指南
Java 对象图序列化
当只需要 Java 对象序列化时,其相比跨语言的图序列化拥有更好的性能。
快速开始
注意:Fury 对象创建的代价很高, 因此 Fury 对象应该尽可能被复用,而不是每次都重新创建。
您应该为 Fury 创建一个全局的静态变量,或者有限的的 Fury 实例对象。Fury本身占用一定内存,请不要创建上万个Fury对象
使用单线程版本 Fury:
import java.util.List;
import java.util.Arrays;
import org.apache.fury.*;
import org.apache.fury.config.*;
public class Example {
public static void main(String[] args) {
SomeClass object = new SomeClass();
// Note that Fury instances should be reused between
// multiple serializations of different objects.
Fury fury = Fury.builder().withLanguage(Language.JAVA)
.requireClassRegistration(true)
.build();
// Registering types can reduce class name serialization overhead, but not mandatory.
// If class registration enabled, all custom types must be registered.
fury.register(SomeClass.class);
byte[] bytes = fury.serialize(object);
System.out.println(fury.deserialize(bytes));
}
}