Capítulo 5. Uma Introdução à Coleção de Lixo
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Este capítulo aborda os conceitos básicos da coleta de lixo na JVM. Além de reescrever o código, o ajuste do coletor de lixo é a coisa mais importante que pode ser feita para melhorar o desempenho de um aplicativo Java.
Como o desempenho das aplicações Java depende muito da tecnologia de coleta de lixo, não é surpreendente que existam vários coletores disponíveis. O OpenJDK tem três coletores adequados para produção, outro que está obsoleto no JDK 11, mas ainda é bastante popular no JDK 8, e alguns coletores experimentais que estarão (idealmente) prontos para produção em versões futuras. Outras implementações Java, como a Open J9 ou a Azul JVM, têm os seus próprios colectores.
As caraterísticas de desempenho de todos estes colectores são bastante diferentes; vamos focar-nos apenas naqueles que vêm com o OpenJDK. Cada um é abordado em profundidade no próximo capítulo. No entanto, eles partilham conceitos básicos, por isso este capítulo fornece uma visão geral básica de como os colectores funcionam.
Visão geral da coleta de lixo
Uma das caraterísticas mais atractivas da programação em Java é que os programadores não precisam de gerir explicitamente o ciclo de vida dos objectos: os objectos são criados quando necessário, e quando o objeto já não está a ser utilizado, a JVM liberta-o automaticamente. Se, como eu, passas ...