ClassLoader's virkemåde
Jeg har en applikation, hvor jeg dynamisk kompilerer og loader nye klasser. Klasserne loades med URLClassLoader.Lad os sige, at jeg har loadet klassen X og derefter danner en ny klasse X2, som indeholder reference til X.
Dette går fint, når X.class er til stede, men hvis jeg efter at have loadet klassen X-klassen sletter X.class, kan X2 ikke kompileres. Hænger dette sammen med, at kompileren under kompilering af X2 igen forsøger at loade X?
Jeg troede måske, at når først X var loadet af ClassLoader'en, var det ligegyldigt om X.class eksisterede efterfølgende, idet CLassLoader'en så at sige (i memory) havde kendskab til X. Der er nemlig ikke noget problem i at loade X, slette X.class og derefter oprette objekter af X efterfølgende. Problemet opstår først, når X2 skal kompileres. Men det har måske noget at gøre med, at kompileren leder efter X.class (?)
Håber ikke det er helt sort snak :-)
