Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

98
Vistas
Priorizar objetos para GC

Estoy implementando un caché de imagen que puede ser pesado en el uso de la memoria, por lo que mantengo una SoftReference a los datos de la imagen para que el GC pueda recopilarlos bajo la presión de la memoria.

Sin embargo, cada entrada tiene una edad, entonces, ¿hay alguna manera de decirle a un GC (¿cuál?) que recopile entradas más antiguas en lugar de las "aleatorias"?

Supongo que podría hacerlo yo mismo manteniendo referencias sólidas y eliminando entradas en low freeMemory() , pero eso es una especie de "liberación indirecta" (GC todavía tiene que activarse para liberar la memoria).

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

De los documentos:

Se garantiza que todas las referencias suaves a objetos accesibles suavemente se hayan borrado antes de que la máquina virtual arroje un OutOfMemoryError. De lo contrario, no se imponen restricciones sobre el momento en que se borrará una referencia flexible o el orden en que se borrará un conjunto de tales referencias a diferentes objetos. Sin embargo, se recomienda que las implementaciones de máquinas virtuales sesguen en contra de borrar las referencias blandas creadas recientemente o utilizadas recientemente.

Por lo tanto, un caché sofisticado puede, por ejemplo, evitar que las entradas usadas más recientemente se descarten manteniendo fuertes referencias a esas entradas, dejando que las entradas restantes se descarten a discreción del recolector de basura.

Esto es de los documentos Java de JDK 11. En resumen, la respuesta es no. Supongo que podrías intentar hacer cosas locas con finalize , pero recomendaría no hacerlo. Su idea de usar referencias sólidas podría ser la más viable.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda