EhCache在存储对象时,如果直接存储,例如:直接存储List对象,将使用浅拷贝处理,存储后如果对list进行操作,对应EhCache存储的对象也会变化。如果List很大,jvm垃圾回收机制不会将该对象回收,会占用堆内存,有触发OOM的风险。
** 建议对需存储的对象先进行深拷贝处理再通过Ehcache存储,例如在存储前对待存储对象执行序列化操作等。**
EhCache存储对象注意深、浅拷贝的问题
最新推荐文章于 2021-02-26 17:23:38 发布
EhCache在存储对象时,如果直接存储,例如:直接存储List对象,将使用浅拷贝处理,存储后如果对list进行操作,对应EhCache存储的对象也会变化。如果List很大,jvm垃圾回收机制不会将该对象回收,会占用堆内存,有触发OOM的风险。
** 建议对需存储的对象先进行深拷贝处理再通过Ehcache存储,例如在存储前对待存储对象执行序列化操作等。**