2012-03-07 15 views
9

Kod tabanım var ve bazı yöntemler hiç kullanılmıyor. javac Kullanılmayan yöntemleri sınıf dosyasından kaldırır mı?javac, kodda başvurulan yöntemleri kaldırır mı?

+1

Yöntemler geneldir, umarım umarım. –

+0

@larsmans: Neden "halk" için özeldir? Diğer bazı kodlar onları kullanıyor olabilir mi? Detaylandırır mısın? – noMAD

cevap

6

S: Kod tabanım olup olmadığını öğrenmek istiyorum ve bazı yöntemler hiç kullanılmıyor. Javac kullanılmayan yöntemleri sınıf dosyasından kaldırır mı?

A: Hayır. Sınıfa ne gider, sınıf dosyasında kalır.

... Ancak ...

JVM yükler yalnızca ne belleğe ihtiyaç duyulan. RAM kullanılmayan sınıflarda "boşa harcanmıyor".

4

Hayır, öyle değil. Bunu doğrulamak için ,

javap -c foo.bar.MyClass 

çalıştırabilir ve tüm kodu burada görebilirsiniz. Yansıma yoluyla da erişebilirsiniz (uygun izinlerle çalıştığınızı varsayarak).

3

Hayır öyle değil ve yapamaz. Derleyici kitaplığı derlediğinde ne olacağını düşünün. Kütüphanenin kullanıcılar için ihracatını istediği tüm yöntemler, kullanıcılar için dışa aktarır, ancak kendisini kullanmaz. Ve Java'da bir kitaplık ve kod olan bir şeyi ayırt etmenin bir yolu yoktur.

İlgili konular