Repaso
English

La JVM guarda en caché objetos Integer de -128 a 127 y reutiliza literales de texto del string pool. ¿Qué patrón es este?

Opciones

  1. Flyweight: compartir objetos inmutables comunes en lugar de hacer copias (Opción correcta)
  2. Observer: los objetos reciben aviso cuando otro cambia de estado
  3. Command: cada petición se envuelve en su propio objeto
  4. Mediator: los objetos se comunican a través de un objeto central

Respuesta

Flyweight: compartir objetos inmutables comunes en lugar de crear muchos idénticos

Por qué

Flyweight ahorra memoria compartiendo objetos idénticos e inmutables en lugar de crear duplicados.

Integer.valueOf(100) siempre devuelve el mismo objeto en caché; los literales de texto idénticos comparten un String en el pool.

Solo es seguro cuando el objeto compartido es inmutable.

Recuerda

Flyweight = compartir objetos inmutables idénticos.

Términos clave

Practica esta pregunta en Repaso