Diskuze: Dokáže Java přepisovat vlastní třídy?
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zajímavá otázka Myslím,
že když jsou jednou třídy načteny ClassLoaderem, nejsou již se souborem
*.class nějak spojeny. Takže editací tohoto souboru nezměníš třídy.
K čemu to chceš? Třídy můžeš měnit reflexí za běhu aplikace.
EDIT: Koukám, že v Javě to tak jednoduché asi nebude, ale můžeš si napsat vlastní ClassLoader.
Zkus tohle: http://tutorials.jenkov.com/…loading.html
To není otázka, na kterou by byla jednoduchá odpověď.
Java jako platforma umí celkem hodně, ale její primární požadavek postavený nade všechno ostatní je bezpečnost. Přepisování vlastních tříd - ať už v paměti nebo na disku - je perfektní ukázkou nebezpečného chování aplikace, takže ti v tom bude Java házet klacky pod nohy.
Obecně to občas jde. Například pokud jsi na desktopu (na mobilu nikoliv), máš pod kontrolou JVM včetně nastavení oprávnění a cetifikátů a víš o JVM skoro všechno. Ale je to hodně, ale opravdu hodně komplikované. BufferedReader určitě nestačí, potřebuješ tým šikovných lidí a široké znalosti, abys podobné šílenosti mohl dělat.
Zobrazeno 5 zpráv z 5.