"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Técnicas de otimização de desempenho Java

Técnicas de otimização de desempenho Java

Publicado em 2024-11-08
Navegar:911

Java Performance Optimization Techniques

Olá ?
Você pode encontrar a postagem completa sobre Técnicas de otimização de desempenho Java

1. Visão geral

Otimizar o desempenho do seu código é fundamental para o sucesso do seu perfil. Você sabia que a pesquisa da Akamai descobriu que 57% dos consumidores online abandonam um site se uma página demorar mais de 3 segundos para carregar? Nesta postagem, você aprenderá como otimizar seu código Java e melhorar o desempenho do seu código.

2. Tópicos Virtuais

Não diga mais nada sobre OutOfMemoryError: não foi possível criar um novo thread nativo Erro.

Java virtual threads, introduzidos no Java 19, podem melhorar significativamente o desempenho do seu projeto.

Nas versões anteriores do Java, havia apenas 1 tipo de thread (threads clássicos) quando um thread clássico é criado, um thread do sistema operacional é alocado e o número de threads é limitado aos threads do sistema operacional.

A partir do JDK 19, você pode criar threads virtuais que são muito mais leves que os threads do sistema operacional e pode criar e executar milhares de threads virtuais em um aplicativo.

Para habilitar threads virtuais em um aplicativo Spring Boot, adicione o seguinte código ao seu application.properties.

spring.threads.virtual.enabled=true

3. Carregamento lento

Muitos problemas de desempenho surgem ao buscar dados desnecessários.

É uma prática recomendada carregar objetos apenas quando necessário.

Por exemplo, você pode usar FetchLazy no Hibernate, mas sempre tenha em mente que a estratégia de busca apropriada depende do caso de uso específico com o qual você está lidando.

buscar = FetchType.LAZY

4. Cache

Minimize o acesso ao disco armazenando em cache os dados acessados ​​com frequência. Ao usar técnicas de cache adequadas, você pode reduzir a latência, evitar o congestionamento da rede e melhorar a disponibilidade do conteúdo.

A estrutura Spring fornece suporte para vários provedores de cache, incluindo, entre outros, Redis, Caffeie, Cache2k etc...

5. Evite GenerationType.TABLE

Ao escolher uma estratégia de geração de chaves em JPA, é importante selecionar aquela que melhor se adapta ao banco de dados que você está usando.
GenerationType.TABLE

Evite usar GenerationType.TABLE devido à sobrecarga de desempenho. Cada vez que uma chave primária é necessária, uma instrução LOCK é executada, juntamente com uma seleção e atualização na tabela de sequência.
GenerationType.IDENTITY

GenerationType.IDENTITY é mais adequado para MySQL porque MySQL usa campos de incremento automático e GenerationType.IDENTITY funciona bem com isso.
GenerationType.SEQUENCE

GenerationType.SEQUENCE normalmente é usado com PostgreSQL e Oracle. Ambos os bancos de dados suportam sequências, que são objetos de banco de dados que geram uma sequência de números exclusivos.

6. Consultar cache do plano

O Query Plan Cache do Hibernate é um recurso chave que pode melhorar o desempenho da sua aplicação.

Quando o hibernate executa uma consulta JPQL, a consulta SQL correspondente precisa ser gerada. Este processo envolve analisar a consulta para uma árvore de sintaxe abstrata, traduzir a árvore para uma consulta SQL e, finalmente, mapear o resultado de volta para objetos Java.

Depois que esse processo for concluído, o hibernate armazena o processo em cache para que não seja necessário executar essas etapas novamente para a mesma consulta.

Para habilitar e configurar o cache do Plano de Consulta use o seguinte código:

hibernate.query.plan_cache_max_size=2048 # Número máximo de planos de consulta no cache
hibernate.query.plan_parameter_metadata_max_size=128 # Tamanho máximo dos planos de consulta com metadados de parâmetro

7. Conclusão

Otimizar o desempenho do código Java é essencial para fornecer aplicativos rápidos e responsivos.

Aproveitando recursos modernos como threads virtuais, implementando carregamento lento, usando estratégias de cache eficientes e otimizando as operações do seu banco de dados, você pode melhorar significativamente o desempenho do seu aplicativo.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mohamed_kramti/java-performance-optimization-techniques-45d1?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3