0
我正在使用STAX解析器來處理xhtml中的每個文本節點。該應用程序部署在Unix框中。解析操作在執行第一個實例時需要更多時間。當我第二次運行它需要相對較少的時間,並且在隨後的調用中,比第二次運行花費的時間要少得多,其後的結果幾乎一致。以下是我正在使用的代碼。不知道爲什麼解析相同輸入的時間不一致。請幫忙。STAX解析器 - 對於相同的輸入文件,性能不一致
一次創建的XMLInputFactory的,(在類級靜態方法)
static {
if (xmlInputFactory == null) {
xmlInputFactory = XMLInputFactory.newInstance();
xmlInputFactory.setProperty(javax.xml.stream.XMLInputFactory.IS_NAMESPACE_AWARE, false);
}
}
執行不一致的 同一輸入文件給出不同的響應時間的解析代碼,
private static void parse(String xhtmlInput) throws XMLStreamException {
ByteArrayInputStream arrayInputStream = new ByteArrayInputStream (xhtmlInput.getBytes(Charset.forName("UTF-8")));
XMLStreamReader parser = xmlInputFactory.createXMLStreamReader(arrayInputStream);
while (true) {
int currentEvent = parser.next();
if (currentEvent == XMLStreamConstants.CHARACTERS) {
// Do operation
} else if (currentEvent == XMLStreamConstants.END_DOCUMENT) {
parser.close();
break;
}
}
}
哪個StAX解析器? – bmargulies 2011-01-13 18:30:25
javax.xml.stream.XMLStreamReader – Rachel 2011-01-13 18:45:12