您好我正在寻找可用于实现最佳序列化的任何开源。
我在谈论,是否有更好的处理序列化的开源(很受欢迎)。
答案 0 :(得分:4)
序列化内置于java。对于大多数课程,您只需实现java.io.Serializable
,您的课程“神奇地”变为可序列化。然后你可以使用java.io.ObjectOutputStream
& java.io.ObjectInputStream
来读取和写入您的对象。
如果需要自定义序列化,请将以下方法添加到类中以覆盖序列化行为。他们必须匹配这些签名完全:
private void writeObject(ObjectOutputStream out) throws IOException {
//YOUR WRITE CODE HERE
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
// YOUR READ CODE HERE
}
答案 1 :(得分:4)
要么看一下Java源代码(是的,它附带了JDK,但是在一个名为src.zip的文件中拉链),或者查看JBossSerialization,它更快并且减小了序列化的对象。我前段时间编写了自己的版本,速度提高了6倍,产生的数据少了6倍,但它需要双方都知道确切的类结构,所以它只能用作通信协议而不能用于持久存储。
答案 2 :(得分:2)
你在找protobuf之类的东西吗?正如其他评论者所说的那样,我对你最初写的问题感到困难。