AD

¿Ya dominas lo básico? Un curso estructurado de Java es la vía rápida para dar el salto.

Ver cursos de Java en Udemy

Enlace de afiliado. No te cuesta nada extra.

Lecciones de Java
Lección 38 / 68

Acelerar cálculos con memoización (caché)

En esta lección evitarás repetir un cálculo guardando los resultados ya obtenidos.

Se usa un Map como caché: antes de calcular se mira si la clave ya está, y después de calcular se guarda.

El código de ejemplo calcula el mismo valor dos veces, y en la segunda avisa de que lo recuperó de la caché.

El efecto es espectacular con la recursión: el Fibonacci recursivo sin caché repite los mismos subcálculos y tarda un tiempo exponencial; con caché pasa a ser lineal. Para n=50 la diferencia es de años a instantáneo.

Lo que hay que vigilar es el crecimiento: una caché sin límite es una fuga de memoria lenta. En aplicaciones reales se usa una caché con expiración o tamaño máximo, como Caffeine, en lugar de un HashMap que solo crece.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Java directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)