2008-12-20 11 views
5

Tenemos una gran aplicación de Java que se ejecuta como applet o Java Web Start. Y crece más y más. Un usuario típico necesita solo una pequeña parte de las clases. Porque Java no sabe qué clase puede encontrar en qué archivo jar carga todos los archivos jar hasta encontrar la clase. Si cargará una clase que no existe (por ejemplo, un paquete de recursos), entonces cargará todos los archivos jar. Esto reduce el tiempo de inicio en un pequeño ancho de banda muy grande.¿Hay algún marco de complemento para Applets de Java?

¿Existe un pequeño marco con el que podamos cargar los complementos solo si es necesario? ¿O mejor si es necesario y en el fondo?

Por supuesto, el marco no debe retrasar la hora de inicio con un tamaño grande.

Creo que debería usar un URLClassLoader para descargar.

Respuesta

0

pienso (sin jnlp no estoy seguro) ya utilizar la propiedad de descarga:

<jar href="sound.jar" download="lazy"/> 

Desde WebStart no tiene ninguna información sobre el contenido del tarro Asumo que carga todos ellos si la clase no se encuentra .

Aunque nunca lo he intentado, pero hay una etiqueta <package> en la que puede dar algunos consejos para la webstart donde buscar clases. Comprueba this (muy corta) documentación.

1

Esta no es una respuesta directa a su pregunta, pero es posible que pueda mitigar las descargas lentas utilizando Pack200 para reducir significativamente el tamaño de sus archivos JAR. Anteriormente written sobre qué tan efectivo puede ser esto.

Aparte de eso, estoy de acuerdo con la sugerencia de asalamon74 de usar la descarga lenta de archivos JAR.

Quizás pueda optimizar el orden de los JAR para que aquellos que contienen clases que se cargarán primero aparezcan antes?

2

He oído que puede implementar cargadores de clases personalizados y he visto tutoriales sobre este tema. Con esto, debería poder controlar con mayor precisión lo que se descarga. Lo siento, no lo he intentado yo mismo.

Cuestiones relacionadas