Увеличение метапространства с XSLT Transformer от TransformerFactory

Когда я запускаю следующий код с несколькими разными запросами, метапространство java увеличивается.

        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 увеличивается?


person Gangadhar Enagandula    schedule 25.09.2019    source источник
comment
Какой процессор XSLT вы используете? Что делает таблица стилей? Я не совсем понимаю, как Java использует Metaspace, но подозреваю, что это связано с динамической генерацией байт-кода. Чтобы ответить на этот вопрос, вам понадобится эксперт по конкретному XSLT-процессору.   -  person Michael Kay    schedule 25.09.2019
comment
Все классы, которые я использую из javax.xml.transform.*, у меня нет никаких пользовательских конфигураций, все по умолчанию.   -  person Gangadhar Enagandula    schedule 25.09.2019
comment
В этом случае вы, вероятно, используете версию Xalan, поставляемую с JDK: старый продукт, о котором я знаю очень мало. Если бы вы использовали Saxon (который реализует XSLT 3.0, а не 1.0), я мог бы вам помочь.   -  person Michael Kay    schedule 25.09.2019
comment
ХОРОШО. Спасибо. Я добавил тег Xalan, чтобы связаться с экспертами Xalan.   -  person Gangadhar Enagandula    schedule 26.09.2019