Debe tener ALGUNOS conocimientos sobre cómo funciona la recolección de basura para Java por dos razones:
Primero, si no sabe cómo funciona, entonces accidentalmente puede tomar decisiones de diseño que conducen al peor rendimiento en su aplicación real. Esto se vuelve cada vez menos probable a medida que el GC mejora, pero si tiene una opción de algoritmos en su aplicación, entonces saber algo sobre el GC significa que puede elegir uno con conocimiento de lo que va a hacer, en lugar de descubrir que causa mal comportamiento.
En segundo lugar, si no sabe cómo funciona, no puede ajustar el GC para una aplicación determinada. La mayoría de los programadores de Java nunca necesitan ajustar el GC, ya que los parámetros predeterminados funcionan lo suficientemente bien la mayor parte del tiempo. Si hace algo que sale de eso 'la mayor parte del tiempo', entonces puede encontrarse ajustando los parámetros del GC. Hacerlo sin conocimiento del GC es simplemente girar las perillas al azar: es posible que obtenga algo útil, pero es más probable que arruine las cosas aún más.
Entonces, aunque no esperaría que un buen programador de Java supiera todo sobre GC, espero que ese programador sepa en algún nivel cómo funciona el GC en la JVM y cuáles son las compensaciones para eso Algoritmo GC.