Java 使用TransformerFactory增加元空间';s XSLT转换器
当我使用多个不同的请求运行以下代码时,java元空间正在增加Java 使用TransformerFactory增加元空间';s XSLT转换器,java,java-8,xslt-1.0,xalan,metaspace,Java,Java 8,Xslt 1.0,Xalan,Metaspace,当我使用多个不同的请求运行以下代码时,java元空间正在增加 public String applyXsltOnXml(String xmlString, String xsltInput) throws TransformerException { String result = null; try (StringReader stringReader = new StringReader(xmlString);
public String applyXsltOnXml(String xmlString, String xsltInput) throws TransformerException {
String result = null;
try (StringReader stringReader = new StringReader(xmlString);
StringWriter writer = new StringWriter()) {
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(new StringReader(xsltInput)));
transformer.transform(new StreamSource(stringReader), new StreamResult(writer));
result = writer.toString();
}
return result;
}
你能解释一下幕后发生了什么吗?为什么java元空间越来越多 您使用的是什么XSLT处理器?样式表在做什么?我不完全理解Java如何使用元空间,但我怀疑它与动态字节码生成有关。您需要一位特定XSLT处理器方面的专家来回答这个问题。我使用的所有类都来自javax.xml.transform.*,我没有任何自定义配置,都是默认的。在这种情况下,您可能使用的是JDK附带的Xalan版本:一个我所知甚少的老产品。如果您使用的是Saxon(它实现XSLT 3.0而不是1.0),那么我将能够帮助您。非常感谢。我添加了Xalan的标签,以联系Xalan的专家。