segunda-feira, 7 de setembro de 2020

OS 5 PRINCIPAIS LIVROS SOBRE TUNNING EM APLICAÇÕES JAVA

 Você pode estar pensando: por que um desenvolvedor Java deveria ler um livro sobre ajuste de desempenho (tunning)? Quando enfrentei essa questão pela primeira vez há muito tempo, pensei que faria isso mais tarde, mas nunca mais voltei a ela por um longo tempo. Percebo meu erro de não ter conhecimento sobre medição de memória, ajuste de JVM e encontrar gargalos apenas quando enfrentei graves problemas de desempenho e escalabilidade em nosso aplicativo financeiro de missão crítica escrito em Java. É verdade que quando você realmente precisa, você aprende mais, mas esses momentos não são os melhores para aprender os fundamentos, na verdade, esses momentos são para aplicar e corrigir seus mal-entendidos.

 É por isso que estou compartilhando esses livros sobre desempenho de Java para todos os programadores Java e sugerindo que dediquem algum tempo para ler pelo menos um livro completo. A propósito, esses livros são adicionais aos meus 5 livros de leitura obrigatória para programadores Java, que tratam de todos os outros tópicos em Java. Se você ainda não os leu, certifique-se de verificá-los também. 

1. Java Performance The Definitive Guide

Para aprender o ajuste de desempenho, você deve conhecer as ferramentas, processos, opções e, o mais importante, evitar armadilhas comuns de desempenho. Este livro pontua bem neste ponto, ele tem um capítulo que apresenta todas as ferramentas, um engenheiro de desempenho Java deve estar ciente, incluindo ferramentas avançadas como Flight Recorder e Java Mission Control.

Ele também tem capítulos excelentes explicando vários algoritmos de garbage
collection, por exemplo, Concurrent Mark Sweep (CMS) e garbage collection G1. Você aprenderá como cada um deles funciona em diferentes condições, como monitorá-los e como ajustá-los. Ele também inclui um capítulo completo sobre análise e otimização de heap.

Isso lhe ensinará coisas do dia a dia, como fazer dumps de heap e histogramas em Java e, em seguida, introduzirá muitas maneiras de diminuir o consumo de memória de heap.

Ele também possui um capítulo sobre desempenho de JDBC e JPA. O ponto crítico ensina que a escolha dos métodos JDBC / JPA adequados pode superar em muito os ganhos do ajuste de consultas SQL.

A propósito, o melhor ainda está para ser apresentado, o que eu mais gosto neste livro é o Capítulo 12. Este capítulo apresenta algumas dicas excelentes de ajuste de Java e seu impacto. Isso inclui E/S em buffer, carregamento de classe, geração de número aleatório, JNI, exceções, desempenho de string, registro, API de coleções Java, lambdas Java vs. classes anônimas e, finalmente, fluxo Java  e desempenho de vários filtros.

2. Java Performance Companion

 
Este é um dos livros mais atualizados sobre o ajuste de desempenho em Java e como escrever código que é executado mais rapidamente em Java. Este foi o livro que me disse que o desempenho do aplicativo Java será limitado por três fatores principais CPU, memória e IO (disco e rede) e, surpreendentemente, muitos desenvolvedores que sabem usar o profiler não sabem desse fato básico.

3. Java Performance  - Good book to learn Java Performance

 Este foi meu livro de desempenho Java favorito por um longo tempo, até recentemente, quando li o Guia Definitivo de Desempenho Java de Scott Oaks. Possui capítulos que explicam como fazer medições de desempenho, demonstrando as ferramentas necessárias para medir CPU, memória e I/O. Capítulos explicando como a garbage collection funciona, diferentes algoritmos

de GC, como coletores de lixo em série vs. paralelos, coletores de varredura de marcas simultâneas, etc.

Binu John e Charlie Hunt fizeram um excelente trabalho em como construir experim

entos que identificam oportunidades de otimização, interpretam os resultados e tomam medidas eficazes.

Para lhe dar alguma credibilidade e dar uma dica do que você pode esperar neste livro, Charlie Hunt é o engenheiro líder de desempenho de JVM da Oracle. Ele é responsável por melhorar o desempenho das bibliotecas de classes HotSpot JVM e Java SE. Ele também e

steve envolvido na melhoria do desempenho do Oracle GlassFish e do Oracle WebLogic Server.

Enquanto, Binu John é engenheiro de desempenho sênior na Ning, Inc., onde se concentra em melhorar o desempenho e a escalabilidade da plataforma Ning para oferecer suporte a milhões de visualizações de página por mês. Antes disso, ele passou mais de uma década trabalhando em problemas de desempenho relacionados ao Java na Sun Microsystems, onde atuou na equipe Enterprise Java Performance da Sun.

Se você não leu nenhum livro sobre ajuste de desempenho do Java e deseja construir uma boa base para lidar com problemas de desempenho, este é o livro que você deve comprar. Vale a pena cada centavo gasto.


4. System Performance: Enterprise and the Cloud

 A análise de desempenho de sistemas é uma habilidade essencial para todos os usuários de computador, quer você esteja tentando entender por que seu laptop está lento ou otimizando o desempenho de um ambiente de produção em grande escala.

É o estudo dos sistemas operacionais (kernel) e do desempenho do aplicativo, e este livrocontará tudo o que você precisa saber sobre o monitoramento e ajuste de desempenho do Linux. O programador começa otimizando algoritmos, estrutura de dados, JVM, coletores de lixo, mas eles eventualmente chegam a um ponto onde o desempenho do sistema entra em jogo.

Você pode querer saber por que as operações de disco eram tão rápidas em sua caixa de desenvolvimento, mas se tornaram um problema significativo na caixa de produção, como o cache da CPU afeta tanto o seu aplicativo, como você pode aproveitar o Cache L1, L2 e L3 e o Cache Físico memória disponível em sua máquina.



5. Java Performance and Scalability: A Quantitative Approach

Antes de apresentar o livro, deixe-me apresentar o autor, ele é Ph.D., trabalha na Vmware e se especializou em escrever aplicativos Java corporativos de alto desempenho e escalonáveis, mas acho que ele é mais conhecido por seu trabalho em Desempenho e Escalabili

dade de Software : Uma Abordagem Quantitativa.

Você pode ver neste livro uma versão mais especializada de seu best-seller anterior. Como o nome sugere, este livro concentra-se no desempenho e na escalabilidade de aplicativos Java.

Este livro é adequado para desenvolvedores, arquitetos e até gerentes de Java. Está dividido em duas partes principais, a primeira parte trata dos fundamentos de desempenho e escalabilidade do Java e a segunda parte apresenta práticas para melhorar o desempenho e escalabilidade.


Espero que essas dicas de livros possa ajudá-los a melhorar suas habilidades no desenvolvimento de Java. Além dos livros, recomendo o treinamento completo da Formação Java Fullsctack onde são abordados aulas práticas e teóricas que vão do básico ao avançado com mais de 1000 horas de aulas e vão lhe proporcionar um aprendizado de alto nível. Aproveite a promoção de 70% de desconto. Basta clicar na imagem abaixo para conhecer mais sobre o treinamento e assistir algumas aulas demonstrativas. Também temos um canal com vagas de empregos para profissionais Java Profissionais Java JOBs.







Nenhum comentário:

Postar um comentário

MÉTODO ESSENCIALISMO UMA FORMA DE APRENDER A PROGRAMAR EM JAVA

 O essencialismo é mais do que uma estratégia de gestão de tempo ou uma técnica de produtividade. Trata-se de um método para identificar o q...