Oralarda üzerinde ne Java classloaders 10 milyon makale ve belgeler, ve /* neden * Kendi yazmayı ... ama hepsi Basit bulamadığını bazı şeyleri varsayarak gibi görünüyor cevaplamak!Java sınıfı yükleyiciler ne zaman devreye girer?
Sınıf yükleyicinin işini anlıyorum: bayt kodunu okumak ve ondan bir nesne oluşturmak. Farklı classloaders vb farklı bunu
Fakat kendi kodunda bir sınıf yükleyici API karşı koduna olmayan, daha önce, ben anlamakta büyük zorluk yaşıyorum Benim de bir yazmak zorunda asla sahip bir ClassLoader
' kendi kodu aslında patlar. Örneğin
: Burada
public static void main(String[] args) {
Fizz fizz = new Fizz();
fuzz.buzz();
}
, bir Fizz
nesne var. Fizz
modelinin başlatılabilmesi için, Fizz.class
ürününü önbelleğe yüklemek ve yüklemek için bir sınıf yükleyiciye ihtiyacımız var. Bu nerede ve ne zaman gerçekleşiyor?!?! Açıkça benim kodumda değil, dolaylı olarak JRE'de bir yerde olmalı mı? Ben kendi classloader yazarsanız bu soruya Teğet
, WidgetClassLoader
derler ve o da benim uygulamanın sınıflarını yüklemek, ya da belki sadece benim Fizz.class
, benim uygulamasına bu WidgetClassLoader
"kravat" nasıl bu kadar biçimde yapılandırmak istediğiniz Hangi classloader kullanacağını biliyor mu? Kodumun bu classloader'ı açıkça çağırması mı gerekiyor yoksa ilk örnek gibi gizli mi olurdu? Şimdiden teşekkürler!
Elbette, JRE'de. Bunu okuyun ve Google özel sınıf yükleyici yapılandırması için: http://www.javalobby.org/java/forums/t18345.html – duffymo
@duffymo - lütfen Andre'nin cevabı altında yaptığım yorumu görün - Seninle aynı sorum var! – IAmYourFaja
Hiç kendi başına bir sınıf yükleyici yazmanın gerekliliğini görmüyorum. Bir keresinde değil, tüm zaman boyunca Java yazıyordum. Ve bu 1997'den beri geri döndü. 1997'ye ihtiyacınız olduğunu düşündüren nedir? – duffymo