gpt4 book ai didi

java - com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize 的用法和性能

转载 作者:行者123 更新时间:2023-11-30 06:19:53 24 4
gpt4 key购买 nike

我们遇到了 JaxB 类加载问题,如Jaxb classCastException 所强调的那样。 .

为了解决这个问题,我添加了 com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true ,这实际上解决了问题。

但是,我了解到这将禁用 Jaxb 直接与字节码交互并通过 Java Reflection API 的能力,因此在通过“JAXBContext.newInstance”初始化新的 Jaxb 上下文时可能会对性能造成轻微影响。 ”。

为了测试性能,我添加了一个简单的方法,该方法在 for 循环中调用 JAXBContext.newInstance 约 500 次。我用 flag=true 和 =false 运行了这个。

在最坏的情况下,我发现每次调用的平均性能影响仅为约 3.5 毫秒。

有人遇到过类似的问题并尝试过上述修复吗?你的发现是什么?我找不到关于com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize的太多信息。您能否分享有关其行为和影响的更多信息?

最佳答案

IBM 提供的有关 JAXB 上下文初始化的文档可能会对您有所帮助:JAXBContext Initialization Takes A Long Time

Problem(Abstract)

JAXBContext initialization slows down application performance.

Symptom

Slow performance in WebSphere Application Server.

Cause

JAXB context (javax.xml.bind.JAXBContext) object instantiation is a resource intensive operation. JAXB Context instantiation involves the pre-load and pre-creation of contexts (called the pre-caching process) of all packages and classes associated with the context, and then all of the packages and classes which are statically (directly and indirectly) referenced from those. Performance latency will correlate with the number of classes which are passed during JAXB creation during this pre-caching process.

关于java - com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize 的用法和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48393051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com