monomodo Ejemplo (super detalle)

Contenido:
definición de una forma de realización de un solo modo de la
aplicación los pasos dos monomodo descrito formas de realización y las ventajas y desventajas + de código para
definir un singleton de
matemáticas y la lógica en, singleton definido como "", "uno y sólo un conjunto de elementos" .
JAVA definición del patrón Singleton: una clase y sólo un ejemplo, y ejemplos de su propia disposición de todo el sistema.
JAVA singletons objeto: tal que un objeto sea el único caso en el sistema.
Código de dos puntos de
1. Sólo una instancia de una clase
2. debe crear una instancia de sí mismo
3. debe proporcionar todo el sistema en este ejemplo
la aplicación:
1. Fórmula perezoso (Recomendado doble cierre) ------ la aplicación más básica del contexto Singleton hilo
/ **

  • Doble bloqueo perezoso: es necesario crear objetos si el uso, tanto para ahorrar espacio en la memoria y puede garantizar la seguridad de hilo
  • Contras: Sin embargo, debido a la clase de función ejecutiva caos JVM, de vez en cuando habrá seguro para hilos
  • Solución: Se puede leer en la memoria mediante la adición de la palabra volitatle

* /
Pública clase Singleton1 {
Privado instancia estática volátil Singleton1 = null;
Privada Singleton1 () {} // declarar el constructor privado no ha sido creada con el fin de garantizar que a través de la nueva
public static Singleton1 la getInstance () {
SI (instancianull) {
sincronizada (Singleton1.class) {
si (instancia
null) {
instancia = new Singleton1 ();
}
}
}
Regresar ejemplo;

}
}

Cuando fórmula de hambre 2. Crear cargador de clases -----
clase pública del Singleton {
private static Singleton final del Singleton Singleton = new (); //
// declarar el constructor privado es asegurarse de no crear nuevos objetos a modo de
privado singleton () {}

pública Singleton getInstance () {
Singleton retorno;

}
}

3. Un enumeró (muy recomendable)
**

  • Ventajas: Código sencilla manera de lograr una óptima Singleton
  • Contras: el problema de secuencia (antes y después de una secuencia de dos objetos desiguales)

/
Public enum {Singleton2
INSTANCIA;
Método public void () {}
}
4. clase interna estática
/
*

  • Estáticas ventajas clase interna: no hay necesidad de cargar la clase inmediatamente dentro de la carga externa, no ocupan memoria
  • La única resistencia, mientras que este método se puede lograr no sólo un hilo, sino también para garantizar la seguridad de una sola realización también puede retrasar la instanciación del singleton

* /
Public class {Singleton3
SingletonHolder clase public static {
private static final = Singleton3 instancia nueva Singleton3 ();
SingletonHolder privada () {}
public static Singleton3 getInstance () {
SingletonHolder.instance retorno;
}
}
}

Publicado 10 artículos originales · ganado elogios 3 · Vistas 575

Supongo que te gusta

Origin blog.csdn.net/qq_43614498/article/details/104899755
Recomendado
Clasificación