我用一个XMLAdapter解组一个非常大的XML文件,使用JAXB解组一个特定的“问题”类。 XMLAdapter非常简单,但它被多次调用 - 我们预计对于单个XML文件高达200万次。我们的测试文件较小 - 适配器被称为200,000次 - 但我们注意到性能受到影响。适配器是相当标准的:使用jaxb XMLAdapter会影响性能吗?
public class MyAdapter extends XmlAdapter<Object, AdaptedClass> {
public static final String ATTRIBUTE_HREF = "href";
public AdaptedClass unmarshal(Object obj) throws Exception {
Element element = null;
if (obj instanceof Element) {
element = (Element)obj;
String id = element.getAttribute(ATTRIBUTE_HREF);
AdaptedClass pr = new AdaptedClass();
pr.setHref(id);
return pr;
}
}
我的问题:使用适配器是否有开销?例如,是否必须从桌子上查找适配器本身? adatper内部的代码是否会减慢速度?在我的情况下,代码是相当简单的,所以它似乎有些相似解组代码将采取即使我没有使用适配器的地方..
指定绑定文件中类似适配器的类是更好的解决方案还是与指定XMLAdapter基本相同? – BradEggers 2011-06-08 19:21:53