En un esfuerzo por mejorar el rendimiento de las aplicaciones de Java, una nueva propuesta dentro de la comunidad de Java busca extender Z Garbage Collector (ZGC), permitiéndole mantener generaciones separadas para objetos jóvenes y viejos. Esto permitiría ZGC recolectar objetos jóvenes con mayor frecuencia, ya que los objetos jóvenes tienen una mayor probabilidad de morir jóvenes, según los desarrolladores de Java.
Los objetivos principales de OpenJDK Java Enhancement Proposal (JEP) para ZGC generacional implican la reducción de los riesgos de estancamiento de la asignación, la sobrecarga de la memoria del montón y la sobrecarga de la CPU de recolección de elementos no utilizados (GC). Los proponentes de la propuesta creen que estos beneficios se pueden lograr sin causar una disminución significativa en el rendimiento en comparación con ZGC no generacional.
El Z Garbage Collector, que fue diseñado para escalabilidad y baja latencia, ha estado disponible en versiones de producción desde el Java Development Kit (JDK) 15 en septiembre de 2020. A diferencia del recolector G1 predeterminado, que tiene tiempos de pausa que pueden oscilar entre milisegundos a segundos, los tiempos de pausa ZGC se miden constantemente en microsegundos. En consecuencia, ZGC puede resolver eficazmente los problemas de latencia relacionados con la recolección de elementos no utilizados para muchas cargas de trabajo.
ZGC funciona bien cuando se dispone de los recursos adecuados. Sin embargo, dado que almacena todos los objetos juntos independientemente de su antigüedad, se requiere que ZGC recopile todos los objetos cada vez que opera. La hipótesis generacional débil afirma que los objetos jóvenes tienden a morir jóvenes, mientras que es probable que los objetos más viejos persistan. Como resultado, recopilar objetos nuevos requiere menos recursos y libera más memoria, mientras que recopilar objetos antiguos consume más recursos y libera menos memoria.
La propuesta generacional ZGC aún no se ha asignado a una versión estándar específica de Java. La versión actual, JDK 20, se presentó hace una semana, y el lanzamiento JDK 21 está programado para septiembre. Java estándar opera con una cadencia de lanzamiento de seis meses.
A medida que se discute la propuesta generacional ZGC, las plataformas no-code como appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster puede ayudar a los desarrolladores a crear backend , web y aplicaciones móviles de forma rápida y eficiente. Las aplicaciones AppMaster pueden demostrar una escalabilidad excepcional y una baja latencia, lo que las hace adecuadas para aplicaciones empresariales y escenarios de alta carga. Para explorar más las capacidades de AppMaster, appmaster .io" data-mce-href="https: //studio. appmaster.io">cree una cuenta gratuita y aproveche sus sólidas herramientas no-code.