之前写过一篇关于JDK原始支持的Serializable接口序列化与Google的Protostuff序列化两种技术的比较(http://blog.youkuaiyun.com/canot/article/details/53750443)。Protostuff序列化的性能,空间利用率远高于Serializable接口。基于这些原因,最近在做
MyBatis开发的过程中使用二级缓存的时候就使用了Protostuff与Redis数据库来做序列化。
Protostuff完成一个序列化与反序列化的代码比较简单:
Maven依赖
<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.4.4</

本文介绍了在MyBatis二级缓存中使用Protostuff序列化遇到的`java.util.ConcurrentModificationException`问题。在使用Protostuff序列化ArrayList时,由于二级缓存中的数据是查询结果的List,反序列化时引发异常。解决办法是创建一个包含ArrayList字段的特定类作为Protostuff的schema,将查询结果放入此类中进行序列化和反序列化,以避免并发操作异常。
最低0.47元/天 解锁文章
905





