SınıfYükleyiciler temel olarak JVM'deki sınıflara anlam veren öğelerdir. JVM'deki kökler için bir hiyerarşi oluştururlar ve java sınıflarını yüklerler. ApplicationClassLoader, uygulamanızın tüm sınıflarını yüklediğinden, göz önünde bulundurmanız gereken ilk ClassLoader'dır.
Bir sınıf yüklendiğinde, diğer sınıflara tüm referanslar çözülmüş ve sınıflar yüklenir tez vardır. JVM, varsayılan olarak, sınıf yükleyicilerinin, daha önce bir sınıf yüklemiş olsalar bile, daha önce ebeveynlerine sordukları bir sistem sağlar. Değilse, onlar uygulama classloader onlar 2 farklı classloader yaşıyorsanız
İki sınıf izole edilebilir onların sınıf yolunda aramak değil,. Yapması zor değil. Ebeveynini ve sınıf yolunu (bytecode'un bulunduğu yer) belirlerken bir sınıf yükleyicisi (URLClassLoader gibi) oluşturmanız gerekir. Bu durumda, bir sınıf yüklemesini söylersiniz. Ebeveynine soracaktır ve eğer sınıf henüz yüklenmemişse, sınıf yolunu arayacak ve yükleyecektir. Aynı üst öğeye eklenmiş başka bir sınıf yükleyicisi oluşturursanız, ilk tarafından yüklenen sınıflar, kardeş oldukları için hiçbir zaman saniyeler içinde görülmez. Ve ikinci kutu
Uygulama Sunucuları uygulamalar arasında dürüst bir izolasyon olması heyet başka bir form kullanmak oldukça iyi yalıtım var herhangi bir sorun
olmadan aynı isimde bir sınıf yükler. Sınıfta bir sürümünü yükleyecektir eğer örnek, URLClassLoader için, uzanan bir classloader yeniden tanımlamak ve öncelikle sınıf yolunda sınıflar aramak için başlatarak heyet süreci tersine çevirmek, daha sonra ebeveyn
Bu iki sınıfı ayrı ad alanlarında değil mi? –
Java bağlamında "ad alanı" ne anlama geldiğini anlamıyorum. Bir paket ismi? Önemli ise, farklı paketlerde olmalarına izin verin. – Nulldevice
Üzgünüz, evet, paketler demek istedim. Ayrıca, sorunuzu yanlış anladım, bu yüzden alakalı olduğunu düşünmüyorum! –