Què és una inicialització mandrosa a Singleton?
Què és una inicialització mandrosa a Singleton?

Vídeo: Què és una inicialització mandrosa a Singleton?

Vídeo: Què és una inicialització mandrosa a Singleton?
Vídeo: МАТ ДРЕВНЕЙ РУСИ! Исчезнувшие ругательства наших предков! ОСОЗНАНКА 2024, Abril
Anonim

Inicialització mandrosa és una tècnica on un posposa el instanciació d'un objecte fins al seu primer ús. En altres paraules, la instància d'una classe es crea quan cal utilitzar-la per primera vegada. La idea darrere d'això és evitar la creació d'instàncies innecessàries.

Per tant, què és la inicialització mandrosa a Java?

Inicialització mandrosa és una optimització del rendiment. S'utilitza quan es considera que les dades són "cares" per algun motiu. Per exemple: si el valor hashCode d'un objecte pot no ser necessari per la persona que truca, calcular sempre el hashCode per a totes les instàncies de l'objecte pot ser considerat innecessari.

També es pot preguntar, com es trenca un singleton? La serialització s'utilitza per convertir un objecte de flux de bytes i desar-lo en un fitxer o enviar-lo a través d'una xarxa. Suposem que serieu un objecte de a singleton classe. Aleshores, si deserialitzeu aquest objecte, crearà una nova instància i, per tant trencar el singleton patró.

En conseqüència, què és la inicialització mandrosa i ansiosa?

Inicialització mandrosa Aquesta tècnica es restringeix la creació d'objectes fins que el creï el codi de l'aplicació. D'una altra manera inicialització amb ganes crea l'objecte amb antelació i just després d'iniciar l'aplicació o mòdul. Això és útil en cas que l'objecte sigui obligatori i en tots els casos funcional.

Per a què serveix la classe singleton?

En Java el Patró singleton s'assegurarà que només hi hagi una instància d'a classe es crea a la màquina virtual Java. És utilitzat per proporcionar un punt d'accés global a l'objecte. En termes pràctics utilitzar Singleton els patrons són utilitzat en registres, memòria cau, agrupacions de fils, paràmetres de configuració, objectes de controlador de dispositiu.

Recomanat: