2 pontos por GN⁺ 2025-12-24 | 1 comentários | Compartilhar no WhatsApp
  • Uma obra técnica que aborda de forma sistemática os princípios do gerenciamento automático de memória e explica de maneira abrangente os algoritmos de garbage collection nos ambientes mais recentes de hardware e software
  • A 2ª edição, publicada após as edições de 1996 e 2012, integra os resultados de pesquisa e desenvolvimento acumulados nos últimos 60 anos
  • Inclui técnicas modernas de coletores de alto desempenho, como coleta paralela, incremental, concorrente e em tempo real, e apresenta os algoritmos de forma concreta com pseudocódigo e figuras
  • Foram adicionados novos capítulos sobre persistência (persistence) e coleta com consciência energética, além de integração com um banco de dados de mais de 3.400 artigos relacionados
  • Em um cenário em que a maioria das linguagens de programação modernas adota garbage collection, é uma referência essencial para desenvolvedores entenderem a escolha e configuração adequadas de coletores

Visão geral da 2ª edição

  • Como sucessora de Garbage Collection (1996) e The Garbage Collection Handbook (2012), reflete o estado da arte em gerenciamento automático de memória
    • Reflete o fato de que os avanços tecnológicos tornaram o gerenciamento de memória ainda mais complexo e importante
    • Integra em uma estrutura acessível o conhecimento acumulado por pesquisadores e desenvolvedores ao longo dos últimos 60 anos
  • Aborda os novos desafios que os avanços de hardware e software trouxeram para o garbage collection
    • Explora o impacto das mudanças no ambiente de execução de programas sobre projetistas e implementadores de coletores de alto desempenho
    • Inclui não apenas algoritmos simples e tradicionais, mas também coleta paralela, incremental, concorrente e em tempo real
    • Os algoritmos e conceitos são explicados com pseudocódigo e figuras

Principais características do livro

  • Oferece uma sucessora completa e atualizada das edições de 1996 e 2012
  • Trata de forma abrangente os algoritmos de coleta paralela, concorrente e em tempo real
  • Explica em detalhes o funcionamento de coletores comerciais de alto desempenho
  • Aborda problemas complexos de interface com sistemas de runtime
  • Inclui mais de 90 páginas adicionais e novos capítulos sobre persistência e coleta com consciência energética
  • Integração com um banco de dados de cerca de 3.400 artigos relacionados

E-book e edições traduzidas

  • O e-book tem um formato expandido em relação à edição impressa e inclui mais de 37.000 hyperlinks
    • Com links para capítulos, seções, algoritmos, figuras, glossário, índice e artigos de pesquisa
  • Em 2016, foram publicadas traduções para chinês e japonês, ampliando o público leitor

Recursos na web

  • O banco de dados bibliográfico online inclui cerca de 3.400 artigos sobre garbage collection
    • Alguns itens incluem resumo, e a maioria fornece URL ou DOI
    • É atualizado continuamente e pode ser baixado nos formatos BibTeX, PostScript e PDF

1 comentários

 
GN⁺ 2025-12-24
Comentários do Hacker News
  • Minha anedota favorita sobre garbage collection está neste texto

    • Ouvi dizer que abordagens parecidas também são usadas em outros lugares. Por exemplo, no Standard Missile o fluido hidráulico não é recirculado, mas simplesmente descartado durante o voo, o que é uma solução de engenharia realmente elegante
    • Acho que isso poderia ser chamado de uma espécie de alocador de memória baseado em regiões. A única diferença é que existe apenas uma única região
    • Essa é uma abordagem bastante padrão. O ponto principal não é um GC nulo, mas sim provar por análise estática os requisitos exatos de memória
    • Essa história é uma boa lição que costumo contar aos colegas. Ela mostra que queremos fazer software perfeito, mas que as exigências reais de negócio nem sempre pedem isso
    • É isso que eu chamaria da verdadeira técnica definitiva de garbage collection
  • Seria bom se o livro mostrasse quais GCs de produção os autores realmente construíram. Há muitos casos contraintuitivos dos quais dá para aprender no mundo real, então um livro com esse tipo de conteúdo seria muito mais interessante e útil

  • É um livro realmente bom. Houve uma discussão anterior também: link da discussão anterior

  • O livro tem uma seção curta sobre GC em tempo real, e fiquei curioso sobre quanto peso ele dá ao GC em ambientes restritos
    Eu também já tive vontade de tentar implementar um jogo 3D AA com GC. Acho que isso é perfeitamente possível, desde que a plataforma não tenha recursos extremamente limitados
    Agora que meu trabalho está um pouco mais tranquilo, estou pensando em fazer um protótipo neste inverno e na primavera

    • Hoje em dia, a maioria das engines de jogos AA já usa GC. Unreal e Unity são exemplos representativos. Internamente elas também usam gerenciamento manual de memória, mas as APIs expostas são projetadas tendo GC em mente
      Já a Godot Engine não usa GC, e sim contagem de referências. Como ela não oferece suporte à detecção de referências cíclicas, todos os objetos precisam ser organizados em uma estrutura de árvore
    • O sistema de mira de armas de navios de guerra da Marinha dos EUA e o sistema francês de rastreamento de mísseis também são implementados com GC em tempo real do Java.
      Materiais relacionados: caso da Thales, Aegis Combat System, caso do USS Bunker Hill
      Na prática, nem todo GC é igual, e não existe esse negócio de “insert credit to continue”
    • Minecraft também é um jogo indie que usa GC, e ainda assim é o jogo mais vendido da história
    • Unreal Engine tem um GC para o grafo interno de objetos, então muitos jogos já estão usando GC
    • Unreal usa GC incremental
  • Este livro é realmente uma referência extraordinária. Quem usa GC como engenheiro deveria lê-lo obrigatoriamente, e mesmo para quem não precisa de GC, a parte inicial sobre alocadores de memória é muito proveitosa

  • Eu também tenho este livro. É muito bem escrito e minucioso, então recomendo fortemente

  • Já tive aula com o professor Hosking. Foi uma boa experiência, e comprei o livro dele assim que saiu
    Não é indispensável, mas ajudou bastante a entender em profundidade os problemas de projeto do GC e o impacto dos finalizadores. Tive uma percepção bem importante ao ler essa parte

  • Eu gostaria que houvesse um botão “buy now” para comprar a edição impressa junto com o arquivo EPUB. O site divulga o livro, mas o processo de compra é complicado demais