美文网首页
2020-01-17 项目中XStream可能导致内存泄露问题

2020-01-17 项目中XStream可能导致内存泄露问题

作者: 归去来ming | 来源:发表于2020-01-17 10:12 被阅读0次

我们调用另一个服务,返回的是xml,使用XStream转化为对象。最近发现这个服务比较卡。
修改之前的代码是这样的:


image.png
  • 原因分析:
    在博文http://blog.sina.com.cn/s/blog_6c02f51e0100wojj.html看到,每个请求都会new一个XStream对象,然后xstream内部又会new一个CompositeClassLoader,并且Class.forName调用该loader,minor gc不会回收这种class loader对象,那就会导致heap被占满并full gc了。

That’s because Class.forName() will keep a reference to your class loader in the SystemDictionary (for being an initiating loader of the class, in your example “java.lang.String”), whereas ClassLoader.loadClass() won’t.

  • 代码优化:


    image.png

还有一篇博文:https://blog.csdn.net/felby/article/details/99678117

相关文章

  • 2020-01-17 项目中XStream可能导致内存泄露问题

    我们调用另一个服务,返回的是xml,使用XStream转化为对象。最近发现这个服务比较卡。修改之前的代码是这样的:...

  • Android 内存优化总结&实践

    内存泄露 大部分的内存问题都是内存泄露导致的,Android里也有一些很常见的内存泄露问题这里简单罗列下: 详细见...

  • 内存泄漏/管理

    ARC 下内存泄露的那些点performSelector延时调用导致的内存泄露iOS ARC下几种导致内存泄露的场...

  • 内存优化

    内存泄露的原因 四种引用类型 常见的内存泄露 1.内部类导致内存泄露 Handler 2.Context导致内存泄...

  • 【Tips】 拒绝循环引用

    前言 最近项目中检查是否有内存泄露,发现大部分的情况都是由于block的循环引用而导致的内存泄露,所以借此机会来记...

  • IOS性能调优系列:使用Allocation动态分析内存使用情况

    1.关于内存的问题,除了内存泄露以外,还可能存在内存不合理使用的情况,也会导致IOS内存警告。内存的不合理使用往往...

  • Android 性能优化(内存泄露)

    内存泄露可以引发很多的问题,常见的内存泄露导致问题如下: 应用卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发...

  • ThreadLocal

    楔子 最近遇到一个问题 在线程池中使用 ThreadLocal 为什么可能导致内存泄露呢? ThreadLocal...

  • iOS内存泄露,你做好iOS加密工作了吗?

    内存泄露问题是每个app都必须关注的问题,关系到线上的稳定性和性能。内存泄露会导致: 由于内存资源不足发生难以排查...

  • Android常见内存泄漏汇总

    目录:一、内存泄漏介绍二、常见内存泄漏场景1.单例导致内存泄露2.静态变量导致内存泄漏3.非静态内部类导致内存泄露...

网友评论

      本文标题:2020-01-17 项目中XStream可能导致内存泄露问题

      本文链接:https://www.haomeiwen.com/subject/xzkczctx.html