Capítulo 41. Programación Java desde la perspectiva del rendimiento de la JVM

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Monica Beckwith

Consejo nº 1: No te obsesiones con la basura

Me parece que a veces los desarrolladores Java se obsesionan con la cantidad de basura que producen sus aplicaciones. Muy pocos casos justifican este tipo de obsesión. Un recolector de basura (GC) ayuda a la Máquina Virtual Java (JVM) en la gestión de la memoria. Para OpenJDK HotSpot VM, el GC junto con el compilador dinámico por niveles justo a tiempo (JIT) (cliente (C1) + clase servidor (C2)) y el intérprete constituyen su motor de ejecución. Hay un montón de optimizaciones que un compilador dinámico puede realizar en tu nombre. Por ejemplo, C2 puede utilizar la predicción dinámica de ramas y tener una probabilidad ("siempre" o "nunca") para las ramas de código tomadas (o no). Del mismo modo, el C2 destaca en optimizaciones relacionadas con constantes, bucles, copias, desoptimizaciones, etc.

Confía en el compilador adaptativo, pero, en caso de duda, verifica utilizando la "serviciabilidad", la "observabilidad", el registro y todas las demás herramientas de este tipo de las que disponemos gracias a nuestro rico ecosistema.

Lo que le importa a un GC es la vida/edad de un objeto, su "popularidad", el "tamaño del conjunto vivo" ...

Get 97 cosas que todo programador Java debe saber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.