Я действительно не знаю ваш вариант использования, но в качестве примечания, если вы используете Джексона, я предполагаю, что вы используете ObjectMapper
.ObjectMapper
- это дорогой объект, который вы должны использовать как можно больше (следовательно, объявите его static
и final
), поскольку он выполняет много операций кэширования за сценой, когда один и тот же объект конвертируется много раз.
Еще лучше, получить ObjectWriter
и / или ObjectReader
от ObjectMapper
, которые являются неизменяемыми и поточно-ориентированными (ObjectMapper сложно, если вы хотите изменить его конфигурацию во время выполнения), они должныулучшить вашу производительность.
Последнее, но я никогда не заходил так далеко, вы могли бы написать собственный сериализатор / десериализатор, но я вижу, что сложность заметно возрастает (таким образом, будет труднее поддерживать).
Если вы работаете со строками, дважды проверьте, что вы используете StringBuilder (или StringBuffer для многопоточного варианта использования) и ведение журнала только при необходимости (if(logger.isDebugEnabled() { log.debug(...) }
), это типичные ловушки, снижающие производительность.