Notas de lectura efectivas de Java

Capítulo 2 Creación y destrucción de objetos

Elemento 1: use métodos de fábrica estáticos en lugar de constructores

Cinco ventajas de los métodos de fábrica estática:

  1. tienen nombres;
  2. No es necesario crear un nuevo objeto cada vez que se llaman;
  3. Se puede devolver cualquier objeto de subtipo del tipo de devolución original;
  4. La clase del objeto devuelto puede cambiar con cada llamada, dependiendo de los valores de los parámetros del método de fábrica estático;
  5. La clase del objeto devuelto por el método puede no existir al escribir la clase que contiene el método de ingeniería Jingtai; (
    se forma el marco del proveedor de servicios y hay tres componentes importantes en el marco del proveedor de servicios: Interfaz de servicio (Interfaz de servicio) Interfaz) , API de registro de proveedores (API de registro de proveedores), API de acceso al servicio (API de acceso al servicio))

Dos desventajas principales de los métodos de fábrica estáticos:

  1. Una clase no puede subclasificarse si no tiene un constructor público o protegido;
  2. Es difícil para los programadores encontrarlos;
    enumere algunos nombres habituales de métodos de fábrica estáticos:
    from - método de conversión de tipos
    de - método de agregación
    valueOf
    instancia o getInstance
    create o newInstance
    getType
    newType
    type
Elemento 2: Considere usar un constructor cuando tenga múltiples argumentos de constructor
Builder模式灵活,使构造器动态化(模拟了具名的可选参数)
Builder模式可能存在性能问题
Elemento 3: Hacer cumplir las propiedades de Singleton con constructores privados o tipos de enumeración
Elemento 4: Aplicar capacidades no instanciables con constructores privados
public class UtilityClass{
    
    
	private UtilityClass{
    
    
    	throw new AssertionError();	//保证该类在任何情况下都不可以被实例化
    }
}
Elemento 5: Priorizar la inyección de dependencia a los recursos de referencia
Ítem ​​6: Evite crear objetos innecesarios

Para los objetos que proporcionan una fábrica estática y un constructor, se prefiere la fábrica estática. El constructor creará el objeto varias veces, y el objeto creado por la fábrica estática se puede reutilizar (cuando no es necesario cambiar el contenido del objeto).

Ítem ​​7: Eliminar referencias de objetos caducados

Tres situaciones que conducen a fugas de memoria:
1. Los objetos extraídos de la pila no se tratarán como recolección de basura, porque estas referencias caducadas se mantienen dentro de la pila: una vez que no se usan, simplemente borre los objetos 2. El caché es
fácil para ser olvidado: use WeakHashMap En lugar de almacenar en caché, el caché debe
borrar regularmente los elementos inútiles (LinkedHashMap); sus referencias débiles (weakreference ), por ejemplo, solo las guarda como claves en WeakHashMap;

Ítem ​​8: Evite los finalizadores y limpiadores
Ítem ​​9: Prefiere probar con recursos a probar y atrapar

Capítulo 3 Métodos comunes a todos los objetos

Supongo que te gusta

Origin blog.csdn.net/qq_16253859/article/details/118884994
Recomendado
Clasificación