O uso de jackson.databind objectMapper, segurança de thread de segurança simultânea

A simultaneidade é segura

  Sim, há instruções no site oficial

Veja os comentários da classe ObjectMapper: ObjectMapper (API jackson-databind 2.6.0),

 Preste atenção ao usar:

1. Se você usar o ObjectMapper diretamente, será necessário configurá-lo antes do primeiro uso, e o uso simultâneo subsequente será thread-safe. Mas se quiser fazer alterações na configuração, você poderá relatar um erro.

2. Você pode usar ObjectReader ou ObjectWriter diretamente. Uma vez que esses dois são criados pelo ObjectMapper, eles são completamente imutáveis.
———————————————
Declaração de direitos autorais: Este artigo é um artigo original do blogueiro CSDN "The Second Posthumous Life", seguindo o acordo de direitos autorais CC 4.0 BY-SA, anexe a fonte original para reimprimir o link e esta declaração.
Link original: https://blog.csdn.net/u010837573/article/details/121613794

Existe um cache forte para desserialização?

  Sim. 

ObjectMapperO objeto de instância manterá um cache serializador, ou seja, _rootDeserializersuma variável de membro, que é um ConcurrentHashMap

  Portanto, se você criar uma nova instância toda vez ObjectMapper, precisará recriar o serializador JSON todas as vezes, o que causará sérias operações de carregamento de classe.

A causa raiz da reutilização do Jackson ObjectMapper - Kaifan Excavator's Blog - CSDN Blog

Existe um cache geral desserializado

  Ou seja, jsonStr corresponde ao cache do JsonObject

 

Projete você mesmo um cache geral por meio do cache goiaba.

 

 

Acho que você gosta

Origin blog.csdn.net/fei33423/article/details/131656268
Recomendado
Clasificación