首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >撒克逊变压器版本11.3 -内存泄漏

撒克逊变压器版本11.3 -内存泄漏
EN

Stack Overflow用户
提问于 2022-11-17 23:23:11
回答 1查看 30关注 0票数 0

我从撒克逊变压器版本9升级到11.3。我的应用程序面临内存泄漏问题。

  • Java春季引导应用程序

  • 应用程序是多线程

  • 应用程序有10个不同的转换器和处理不同的xsl

  • 占用的内存随时间增长并占用所有可用的内存

  • 试图重用变压器,每次我们进行转换时都使用新的变压器。(没有运气)
EN

回答 1

Stack Overflow用户

发布于 2022-11-18 09:46:36

正如Martin所说,这种问题比这里更适合萨克索尼卡支持论坛。原因是它可能涉及一个反复的调查过程,这不符合StackOverflow的问答格式(如果我没有立即得到答案,可能有人会将我的回答标记为“不是答案”)。

当应用于Java时,“内存泄漏”这个术语是相当不准确的。内存泄漏是指不再引用的对象没有释放它们的内存,但这里的问题是(几乎可以肯定),当您不希望对象被引用时,对象仍然被引用。

要研究这个问题,您需要获得一个堆转储,并找出问题所在。很明显,有数以百万计的特定类对象不应该存在。堆转储分析器将使您能够找到引用这些对象的位置,这将解释为什么它们不是垃圾收集的。

您可以通过获取堆转储并将其发送到Saxonica (如果不能自己分析),或者创建失败应用程序的复制并发送。我猜想,考虑到这是一个相当复杂的应用程序,第一种方法对您来说会更容易。

我们试图在我们准备提供的支持水平上划出一些界限。其中一个边界是,我们不会尝试运行具有复杂依赖关系的repro,例如,需要安装第三方产品。包括春天。

注意:不同的人采用不同的策略来解决问题,但就我个人而言,当我看到这样的东西在X版中起作用,而在Y版中不起作用时,我通常会从第一性原则来研究Y版下的情况,而不是探讨已经改变了什么。但是也有例外,例如,我们知道Saxon 11使用了一种全新的方法来解析目录bsed URI,这有时会给出值得查找的线索。所以:X版本可能并不重要,但您应该知道,"Saxon 9“描述了一系列的主要版本,从2008年的9.0版到2020年的9.9版,因此它对基线的定义并不十分有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74483273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档