Pregunta

Tengo un core FRASCO que proporciona funcionalidad y, por tanto, utilizado en muchas otras aplicaciones - aplicaciones de escritorio, aplicaciones web, etc.Ahora este núcleo FRASCO mantiene un grupo de objetos que contengan objetos que son computacionalmente costoso crear.El objeto de la piscina es de tamaño fijo y por lo tanto puedo crear todos los objetos a la vez y llenar la piscina.Lo que quiero hacer es que cada vez que la aplicación a través de mi TARRO cargado, el objeto de la piscina se crea sin la aplicación de conocer los detalles de una piscina.Y que aunque la aplicación en el tiempo de carga se verá afectada a causa de la piscina de la población, pero una vez que la aplicación ha pasado esta etapa, no hay ninguna más impacto en el rendimiento en la creación de tales objetos pesados más tarde.

Hay una manera de lograr esto?

¿Fue útil?

Solución

La única manera de hacer algo como esto, fuera de añadir ganchos explícitos en las aplicaciones cliente para invocar la lógica de arranque es agregar inicializadores estáticos a sus clases para construir su piscina.

Un inicializador estático se ejecuta cuando la clase se carga por primera vez por la JVM (antes de cualquier código en su clase que se invoca), que no es muy determinista, pero es por lo general cuando una ruta de código incluir su clase es el primer éxito.

Yo recomendaría proporcionar algún tipo de ganchos en su lógica de inicio para las aplicaciones de cliente para invocar, de esta manera se puede controlar con precisión este tipo de cosas en lugar de tener su ejecución lógica de arranque en un momento impredecible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top