# Ladevorgang von Applets (jar/class)



## sparrow (9. Apr 2005)

Ich hab da mal eine Frage zu dem Ladevorgang von Applets

in der Literatrur wird meist das jar-archiv als quelle für internetdateien empfohlen, da nur eine http-connection zum herunterladen des archivs gebraucht wird, anstatt mehrere für verschiedene class-files.

we genau läuft der Ladevorgang aber eigentlich ab?

*Jar-Archiv-File*
ist soweit klar.
Der Client zieht sich das Archiv vom Server und führt es aus.

*Class-Files*
Hier bin ich mir sehr unsicher was passiert.
werden beim Aufruf der 1. Klasse alle Klassen heruntergeladen die irgendwie mit den Applet zu tun habe, oder nur die, die im Augenblick benötigt werden?
HAb ich also eine Klasse die 1 Button anzeigt, und der Button eine weitere Klasse läd, ist sie 2. Klasse dann schon vorher mit runtergeladen, oder folgt die erst wenn man den Button drückt?


Wenn wirklich alle Klassen auf einmal geldaden werden, dann würde sich bei größeren Applets, mit vieleren Klassen, das Jar dan ja auf jeden Fall anbieten.
Die Klassen sind dann ja komprimiert und er könnte alle über eine einzige http-verbindung holen.
Wenn allerdings die Klassen erst bei bedarf geladen werden, dann wäre unter Umständen ein jar-archiv zu klobig und eher hinderlich.

gruß
sparrow


----------



## raven (13. Apr 2005)

Hi.

Ich weiß zwar auch nicht genau wie das bei den Class ablaüft, aber ich weiß ganz genau das Jar Files auf jeden fall effektiver sind. Stand in dem Buch "Java in 21 Tagen".


----------



## Spacerat (14. Apr 2005)

Ein Jar-File lädt wie gesagt alle Klassen, die in ihm gespeichert wurden mit einem mal in das Cache-Verzeichnis der JVM. Das bedeutet, das sich ein Applet eine benötigte Klasse aus dem schon heruntergeladenen Jar-File holt. Es ist auch möglich mehrere verschiedene Applets in einem Jar-File zu speichern. Auf der Homepage identische Applets greifen ebenfalls auf die gecachte Datei zurück. Dabei können sogar neue Parameter übergeben werden.

Der Nachteil beim verwenden von Jar-Files liegt lediglich in der schwierigen Handhabung beim Entwickeln von Applets (Enwickeln, Packen, Hochladen, Testen, Herunterladen, Auspacken, fehlerhafte Klasse korregieren, Packen ... usw.).

cu Spacerat


----------

